整理 Python 的数据类型、列表与字典推导式、f-string、常用内置函数、虚拟环境和异常处理,配可运行代码片段,适合日常开发随手查阅与面试前快速回顾。

数据类型

动态强类型,常用容器是列表、元组、字典和集合。元组不可变,可以作字典键;集合自动去重,判断成员是否存在比遍历列表快得多,属于常数级查找,字典键还要求对象可哈希。

items = [1, 2, 3]

推导式

列表、字典、集合推导式比显式循环紧凑得多,尾部的条件负责过滤,嵌套还能生成二维结构。层级超过两层就该改回普通循环,可读性比一行炫技更值钱,字典推导同样支持条件过滤。

sq = [x * x for x in range(8)]

f-string

字符串前加 f,花括号里可以放任意表达式。冒号后写格式规格控制精度、宽度和对齐,表达式后加等号会连表达式本身一起打印,调试时省去重复敲变量名,三引号字符串也支持这个前缀。

print(f"{199.5:.2f} 元")

常用内置函数

带下标迭代用枚举函数,并行遍历多个序列用拉链函数,排序可传入键函数自定义顺序,任意值判断、全体判断与求和都有对应内置函数,配合生成器表达式能少写很多临时循环。

print(list(zip([1, 2], ["x", "y"])))

虚拟环境

每个项目单独建环境,避免不同项目的依赖版本互相污染。装完包把版本导出到锁文件,部署时按锁文件重装;注意 Windows 的激活脚本在脚本目录,退出环境用专门的命令,别直接删目录。

python -m venv .venv

异常处理

没有抛异常时才执行 else 分支,无论成败都会运行 finally,适合释放文件和数据库连接。多个异常写进元组一起捕获,别用不带类型的捕获把错误悄悄吞掉,自定义异常应当继承异常基类。

try: print(10 / int("0"))
except ZeroDivisionError: print("除零")