1. 引言Python 是一门语法简洁、上手容易的通用编程语言广泛应用于数据分析、Web 开发、自动化脚本和人工智能等领域。本笔记围绕 Python 基础中最核心的六个主题——数据类型、循环、函数、类、异常处理、文件读写——逐一展开每个主题都包含概念、核心内容、代码举例、使用时机与扩展知识帮助你系统掌握 Python 的入门知识。2. 数据类型2.1 概念数据类型Data Type决定了数据在内存中的存储方式以及可以对其执行的操作。Python 是动态类型语言变量无需显式声明类型解释器会根据赋值自动推断。2.2 核心内容Python 常用的内置数据类型包括数字类型int整数、float浮点数、complex复数。字符串str不可变的字符序列支持索引、切片和多种内置方法。布尔类型bool只有True和False两个值。列表list有序、可变的元素集合可存放任意类型。元组tuple有序、不可变的元素集合。字典dict键值对key-value集合键必须唯一且不可变。集合set无序、不重复的元素集合。2.3 举例# 数字与字符串age25# intprice19.99# floatnameAlice# str# 列表与元组fruits[apple,banana,cherry]point(3,5)# tuple# 字典与集合person{name:Bob,age:30}unique_nums{1,2,3,3,2}# 自动去重结果为 {1, 2, 3}# 类型查看print(type(age))# class intprint(type(fruits))# class list2.4 使用时机需要存储一组有序数据时用列表数据不允许修改时用元组。需要根据键快速查找值时用字典。需要去重或做集合运算交集、并集时用集合。处理文本、拼接输出时用字符串。2.5 扩展可变与不可变列表、字典、集合可变字符串、元组、数字不可变。类型转换int(123)、str(3.14)、list((1, 2))等。推导式[x * x for x in range(5)]可快速生成列表。3. 循环3.1 概念循环Loop用于重复执行一段代码直到满足某个条件为止。Python 提供for和while两种循环结构。3.2 核心内容for循环遍历可迭代对象如列表、字符串、字典、range。while循环只要条件为真就持续执行。控制语句break提前终止循环continue跳过本次迭代else子句在循环正常结束时执行。3.3 举例# for 循环遍历列表forfruitin[apple,banana,cherry]:print(fruit)# for 循环配合 rangeforiinrange(1,6):print(i)# 输出 1 到 5# while 循环count0whilecount3:print(count ,count)count1# break 与 continueforninrange(10):ifn2:continue# 跳过 2ifn5:break# 到 5 终止print(n)# 输出 0 1 3 43.4 使用时机需要遍历序列或集合中的每个元素时用for。循环次数不确定、依赖某个条件时用while。需要提前退出或跳过特定元素时配合break/continue。3.5 扩展列表推导式[x ** 2 for x in range(5)]一行完成循环与收集。字典推导式{k: v for k, v in zip(keys, values)}。enumerate同时获取索引与元素如for idx, val in enumerate(lst)。4. 函数4.1 概念函数Function是一段可复用的代码块接收输入参数、执行特定逻辑并返回结果用于提升代码的模块化与可维护性。4.2 核心内容定义使用def关键字可带参数和返回值。参数类型位置参数、默认参数、关键字参数、可变参数*args、关键字可变参数**kwargs。返回值用return返回结果无return时返回None。作用域函数内部变量为局部变量外部为全局变量。4.3 举例# 基本函数defadd(a,b):returnabprint(add(3,5))# 8# 默认参数与关键字参数defgreet(name,greetingHello):returnf{greeting},{name}!print(greet(Alice))# Hello, Alice!print(greet(Bob,greetingHi))# Hi, Bob!# 可变参数deftotal(*nums):returnsum(nums)print(total(1,2,3,4))# 10# 关键字可变参数defshow_info(**info):forkey,valueininfo.items():print(f{key}:{value})show_info(nameAlice,age25)4.4 使用时机一段逻辑被多处重复使用时应封装为函数。需要将复杂任务拆分为可独立测试的小模块时。需要为调用方提供清晰参数接口时。4.5 扩展Lambda 匿名函数lambda x: x * 2适合简单逻辑。高阶函数map、filter、sorted等可接收函数作为参数。装饰器用于在不修改原函数的情况下增强其功能。5. 类5.1 概念类Class是面向对象编程OOP的核心用于将数据属性和操作数据的方法封装在一起通过实例化创建对象。5.2 核心内容定义类使用class关键字__init__方法用于初始化对象属性。实例方法第一个参数为self表示对象自身。类属性与实例属性类属性所有实例共享实例属性每个对象独立。继承子类继承父类的属性和方法可重写或扩展。封装通过命名约定如_name表示内部属性。5.3 举例classDog:# 类属性speciesCanis familiarisdef__init__(self,name,age):self.namename# 实例属性self.ageagedefbark(self):returnf{self.name}says Woof!defdescribe(self):returnf{self.name}is{self.age}years old.# 继承classPuppy(Dog):def__init__(self,name,age,training_level):super().__init__(name,age)self.training_leveltraining_leveldefbark(self):returnf{self.name}says Yip!# 使用dogDog(Rex,3)print(dog.bark())# Rex says Woof!print(dog.describe())# Rex is 3 years old.puppyPuppy(Max,1,basic)print(puppy.bark())# Max says Yip!print(puppy.species)# Canis familiaris5.4 使用时机需要将相关数据和操作绑定在一起时。需要复用已有类的功能并扩展时继承。构建大型项目、需要清晰组织代码结构时。5.5 扩展多态不同子类可对同一方法给出不同实现。魔术方法如__str__、__repr__、__eq__控制对象的内置行为。类方法classmethod与静态方法staticmethod用于不依赖实例的场景。6. 异常处理6.1 概念异常Exception是程序运行过程中出现的错误。异常处理允许我们捕获并处理这些错误避免程序崩溃提升健壮性。6.2 核心内容try/except捕获并处理异常。else无异常时执行的代码块。finally无论是否发生异常都会执行的代码块常用于释放资源。常见异常类型ValueError、TypeError、FileNotFoundError、ZeroDivisionError等。自定义异常继承Exception类创建自己的异常类型。6.3 举例# 基本异常处理try:numint(input(请输入一个数字: ))result10/numprint(结果:,result)exceptValueError:print(输入的不是有效数字)exceptZeroDivisionError:print(不能除以零)else:print(计算成功。)finally:print(程序执行结束。)# 自定义异常classAgeError(Exception):passdefcheck_age(age):ifage0:raiseAgeError(年龄不能为负数)returnagetry:check_age(-5)exceptAgeErrorase:print(捕获到异常:,e)6.4 使用时机处理用户输入、文件读写、网络请求等可能出错的场景。需要保证程序在出错时仍能优雅退出或给出提示时。需要释放资源如关闭文件、数据库连接时用finally。6.5 扩展异常链使用raise ... from ...保留原始异常上下文。assert断言用于调试阶段检查条件。上下文管理器with自动管理资源释放常与异常处理配合使用。7. 文件读写7.1 概念文件读写File I/O是程序与外部存储交互的方式用于读取磁盘上的数据或将数据写入文件是数据处理和持久化的重要基础。7.2 核心内容打开文件使用内置函数open()指定文件名和模式。常用模式r只读、w写入覆盖、a追加、rb/wb二进制读写。读取方法read()、readline()、readlines()。写入方法write()、writelines()。上下文管理器with自动关闭文件推荐使用。7.3 举例# 写入文件withopen(notes.txt,w,encodingutf-8)asf:f.write(第一行内容\n)f.write(第二行内容\n)# 读取整个文件withopen(notes.txt,r,encodingutf-8)asf:contentf.read()print(content)# 逐行读取withopen(notes.txt,r,encodingutf-8)asf:forlineinf:print(line.strip())# 追加写入withopen(notes.txt,a,encodingutf-8)asf:f.write(追加的一行\n)# 处理文件不存在异常try:withopen(missing.txt,r)asf:print(f.read())exceptFileNotFoundError:print(文件不存在)7.4 使用时机需要保存程序运行结果、日志或配置信息时。需要读取外部数据文件如文本、CSV、JSON进行处理时。需要批量处理多个文件时。7.5 扩展CSV 读写使用csv模块处理表格数据。JSON 读写使用json模块实现数据序列化与反序列化。路径处理使用os.path或pathlib管理文件路径。8. 总结Python 基础中的数据类型、循环、函数、类、异常处理和文件读写构成了日常开发最常用的核心能力。数据类型决定了数据的组织方式循环实现重复逻辑函数提升代码复用类支持面向对象设计异常处理增强程序健壮性文件读写打通程序与外部数据的交互。掌握这些基础并理解各自的使用时机就能写出结构清晰、稳定可靠的 Python 程序。希望这份笔记能帮助你建立起对 Python 基础的系统认知并在实际编码中灵活运用。