Python 语法速查
00:00
常用 Python 语法速查表,含使用场景、常见错误,支持搜索和复制
学习指引
前置知识
- 了解编程的基本概念
- 已完成 Python 3.x 安装
推荐学习顺序
- 先学习【基础语法】分组,掌握变量、条件和循环
- 再学习【数据结构】分组,掌握列表、字典等核心数据类型
基础语法
Python 编程的起点。本组内容涵盖变量定义、条件判断、循环和函数,是编写任何 Python 程序的基础。变量与类型
name = "张三"
age = 25
height = 1.75
is_student = True
print(type(name)) # <class 'str'>输出: <class 'str'>
场景: 定义变量存储数据。Python 是动态类型语言,变量无需声明类型,赋值即定义。type() 函数可查看变量类型。
常见错误
- 错误:
name = 张三-- 解决: 字符串必须用引号包裹:name = "张三" - 错误:
10 = age-- 解决: 变量名必须在等号左侧:age = 10
进阶: Python 支持类型注解:name: str = "张三",便于 IDE 提示和代码可读性,但不影响运行时行为。
条件判断
score = 85
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")输出: 及格
场景: 根据条件执行不同的代码逻辑。if-elif-else 结构支持多条件分支判断,条件表达式不需要括号。
常见错误
- 错误:
if score = 85:-- 解决: 比较使用 ==,赋值使用 =。条件判断中应使用 score == 85 - 错误:
if score >= 60 print("及格")-- 解决: if 语句末尾必须加冒号 :
进阶: Python 支持三元表达式:result = "及格" if score >= 60 else "不及格",适合简单的条件赋值。
循环
# for 循环
for i in range(5):
print(i)
# while 循环
count = 0
while count < 3:
print(f"count = {count}")
count += 1输出: 0
1
2
3
4
count = 0
count = 1
count = 2
场景: for 循环用于遍历序列或指定次数的迭代,while 循环用于条件满足时持续执行。break 可提前退出循环,continue 可跳过当前迭代。
常见错误
- 错误:
for i in range(5) print(i)-- 解决: for 语句末尾必须加冒号,循环体需要缩进 - 错误:
while True: pass(缺少退出条件)-- 解决: while 循环必须包含使条件为 False 的逻辑或 break 语句
进阶: for-else 语法:当循环正常结束(未被 break 中断)时执行 else 块,常用于搜索场景。
函数定义
def greet(name: str, greeting: str = "你好") -> str:
return f"{greeting}, {name}!"
result = greet("张三")
print(result)输出: 你好, 张三!
场景: 将可复用的代码封装为函数。def 关键字定义函数,支持默认参数、关键字参数和返回值。函数是代码组织和复用的基本单元。
常见错误
- 错误:
def greet(name, greeting="你好", title):-- 解决: 默认参数必须放在非默认参数之后:def greet(name, title, greeting="你好") - 错误:
def add(a, b): a + b(缺少 return)-- 解决: 需要返回值时必须使用 return 语句:return a + b
进阶: 使用 *args 和 **kwargs 可定义可变参数函数。*args 接收任意数量的位置参数,**kwargs 接收任意数量的关键字参数。
数据结构
Python 内置的核心数据结构。本组内容涵盖列表、字典、集合和元组,是处理和组织数据的基础工具。列表
fruits = ["苹果", "香蕉", "橙子"]
fruits.append("葡萄")
fruits.remove("香蕉")
print(fruits[0]) # 苹果
print(len(fruits)) # 3输出: 苹果
3
场景: 列表是有序的可变序列,用于存储一组相关数据。支持索引访问、切片、添加、删除和排序等操作,是最常用的数据结构。
常见错误
- 错误:
fruits[3](索引超出范围)-- 解决: 列表索引从 0 开始,最大索引为 len(list)-1,访问前检查长度 - 错误:
fruits.remove("西瓜")(元素不存在)-- 解决: 删除前先判断:if "西瓜" in fruits: fruits.remove("西瓜")
进阶: 列表推导式可简洁地创建列表:[x**2 for x in range(10) if x % 2 == 0],比循环更高效且更 Pythonic。
字典
user = {"name": "张三", "age": 25}
user["email"] = "zhangsan@mail.com"
age = user.get("age", 0)
print(user.keys())
print(user.values())输出: dict_keys(['name', 'age', 'email'])
dict_values(['张三', 25, 'zhangsan@mail.com'])
场景: 字典是键值对的无序可变集合,用于通过键快速查找值。查找时间复杂度为 O(1),适合存储和检索结构化数据。
常见错误
- 错误:
user["phone"](键不存在)-- 解决: 使用 get 方法设置默认值:user.get("phone", "未设置") - 错误:
for key, value in user:(直接遍历字典)-- 解决: 使用 user.items() 遍历键值对:for key, value in user.items()
进阶: 字典推导式:{k: v for k, v in items if v > 0}。Python 3.7+ 字典保持插入顺序。setdefault() 可在键不存在时设置默认值。
集合
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
print(a & b) # 交集
print(a | b) # 并集
print(a - b) # 差集输出: {3, 4}
{1, 2, 3, 4, 5, 6}
{1, 2}
场景: 集合是无序且不重复的元素集合,适合去重和集合运算(交集、并集、差集)。元素必须是可哈希类型。
常见错误
- 错误:
s = {}(试图创建空集合)-- 解决: 空集合必须使用 set():s = set(),{} 创建的是空字典 - 错误:
s = {[1, 2], [3, 4]}(列表作为集合元素)-- 解决: 集合元素必须是不可变类型,可将列表转为元组:{(1, 2), (3, 4)}
进阶: 集合的 in 操作时间复杂度为 O(1),远快于列表的 O(n),适合用于成员检测和去重场景。
元组
point = (3, 4)
x, y = point # 解包
print(f"x={x}, y={y}")
# 单元素元组必须加逗号
single = (42,)输出: x=3, y=4
场景: 元组是不可变的有序序列,一旦创建不可修改。适合存储不应被改变的数据,如坐标、配置项等。也常用于函数返回多个值。
常见错误
- 错误:
point[0] = 5(尝试修改元组元素)-- 解决: 元组不可修改,如需修改应使用列表,或重新创建元组 - 错误:
single = (42)(试图创建单元素元组)-- 解决: 单元素元组必须加逗号:single = (42,)
进阶: 元组可作为字典的键(因为不可变且可哈希),而列表不行。命名元组 namedtuple 可通过名称访问元素,比索引更清晰。