一、基础语法核心
注释:单行注释以井号(#)开头;多行注释使用三个连续的单引号(''')或双引号(""")包裹。
变量与数据类型:
· 动态类型语言,变量无需声明类型,通过赋值确定类型
· 基本数据类型:整型(int)、浮点型(float)、复数(complex)、字符串(str)、布尔型(bool,值为True/False)
· 空值类型:NoneType,唯一值为None
运算符:
· 算术运算符:加(+)、减(-)、乘(*)、除(/)、取整除(//)、取余(%)、幂(**)
· 比较运算符:等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)
· 逻辑运算符:与(and)、或(or)、非(not)
· 身份运算符:is、is not(判断是否为同一对象)
· 成员运算符:in、not in(判断是否包含)
输入与输出:
· input()函数获取用户输入,返回字符串类型
· print()函数输出,支持多个参数,可用sep参数指定分隔符,end参数指定结尾符
代码块与缩进:使用严格的缩进定义代码块,通常用4个空格(非Tab键)。缩进是语法的一部分,错误的缩进会导致程序错误。
---
二、核心数据结构
字符串(str):不可变的字符序列,支持索引和切片操作。重要方法:查找子串、替换内容、大小写转换、分割字符串、去除空格、判断开头/结尾。
列表(list):有序、可变的元素序列,用方括号定义。支持增(append, extend, insert)、删(remove, pop, clear)、改、查操作。可嵌套,支持列表推导式。
元组(tuple):有序、不可变的元素序列,用圆括号定义。单元素元组需加逗号。因不可变性,可用作字典的键。
字典(dict):无序的键值对映射,用花括号定义。键必须为不可变类型,值可为任意类型。重要操作:获取所有键(keys)、所有值(values)、所有键值对(items)、获取值(get)、更新字典(update)。
集合(set):无序、不重复的元素集,用花括号定义(空集合用set())。支持集合运算:并集(|或union)、交集(&或intersection)、差集(-或difference)、对称差集(^或symmetric_difference)。
---
三、程序流程控制
条件判断:if-elif-else结构,条件表达式结果为True或False。支持嵌套条件判断。
循环结构:
· for循环:遍历任何可迭代对象,常与range()函数配合进行次数循环
· while循环:条件为真时重复执行代码块
· 循环控制:break完全终止循环,continue跳过本次循环后续代码
推导式:快速创建数据结构的简洁语法,包括列表推导式、字典推导式、集合推导式。
---
四、函数深入
函数定义:def关键字定义函数,可选参数列表和return返回值。函数也是对象,可赋值给变量。
参数传递:
· 位置参数:按顺序传递
· 关键字参数:按参数名传递
· 默认参数:定义时指定默认值
· 可变参数:*args接收任意数量位置参数(元组)
· 关键字参数:**kwargs接收任意数量关键字参数(字典)
变量作用域:
· 局部变量:函数内部定义,仅在函数内有效
· 全局变量:函数外部定义,全局有效。函数内修改需用global声明
· 非局部变量:嵌套函数中,内层函数修改外层函数变量需用nonlocal声明
匿名函数:使用lambda关键字创建小型匿名函数,语法:lambda 参数: 表达式
装饰器:修改或增强函数功能的高级技巧,使用@符号语法糖。
---
五、面向对象编程
类与对象:class定义类,类名通常采用驼峰命名法。通过实例化创建对象。
特殊方法:
· init:构造方法,创建对象时自动调用
· str:返回对象的字符串表示
· repr:返回对象的官方字符串表示
· len:定义对象的长度
封装:使用单下划线(_)表示保护成员,双下划线(__)表示私有成员(名称修饰)。
继承:子类继承父类的属性和方法,支持多重继承。可使用super()函数调用父类方法。
多态:不同类的对象对同一消息做出不同的响应。
属性装饰器:@property将方法转换为属性,@方法名.setter定义属性设置器。
---
六、异常处理
try-except结构:捕获和处理异常,可指定具体异常类型或多个异常类型。
else子句:当try块中没有异常发生时执行。
finally子句:无论是否发生异常都会执行,常用于资源清理。
自定义异常:通过继承Exception类创建自定义异常类型。
with语句:上下文管理器,自动管理资源的获取和释放,如文件操作。
---
七、模块与包
模块导入:import 模块名、from 模块名 import 功能名、import 模块名 as 别名。
包结构:包含__init__.py文件的目录,用于组织相关模块。
常用内置模块:
· os:操作系统接口
· sys:系统相关参数和函数
· math:数学函数
· datetime:日期时间处理
· json:JSON数据处理
· re:正则表达式操作
虚拟环境:venv模块创建隔离的Python环境,管理项目依赖。
---
八、文件操作
打开模式:r(只读)、w(写入,覆盖)、a(追加)、b(二进制模式)、+(读写模式)。
读写方法:read()读取全部内容、readline()读取一行、readlines()读取所有行、write()写入字符串、writelines()写入字符串列表。
上下文管理:使用with语句自动关闭文件,避免资源泄露。
路径操作:使用os.path模块处理文件路径,pathlib模块提供面向对象的路径操作。
---
九、编程规范与调试
PEP8规范:Python官方编码风格指南,涵盖命名规范、缩进、行长度、空格使用等。
调试技巧:使用print调试、logging模块记录日志、pdb调试器进行断点调试。
单元测试:unittest或pytest框架编写测试用例,确保代码质量。
文档字符串:使用三引号为模块、类、函数编写文档,可通过__doc__属性访问。
掌握这些核心知识点,就建立了坚实的Python编程基础,能够应对大多数编程任务。