SuperAPI AI 工具集

python-gotchas

编程与开发

查看项目

更新于 10-15 23:41

技能介绍

用途:这是一份 Python 常见陷阱(gotchas)速查参考,用于调试、代码审查与预防细微 bug,帮助理解代码为何出现非预期行为,并学习 Python 的求值规则。主要能力:以“问题—原因—修复”的方式列出多类陷阱,包括可变默认参数(如 def f(x=[]) 被所有调用共享)、迭代列表时修改导致跳过元素、is 与 == 的身份与值比较区别、闭包延迟绑定(lambda 捕获变量而非值)、LEGB 作用域规则与 UnboundLocalError、字符串隐式拼接与类型混用、布尔真假值判断、浮点精度(0.1 + 0.2 != 0.3)、异常处理过宽与异常变量作用域、字典迭代时修改引发 RuntimeError、循环导入与模块名遮蔽、类属性与实例属性共享等。使用方式:按需查阅对应条目,采用资料给出的修复方式,例如用 None 作默认值并在函数内创建可变对象、遍历副本 items[:] 或使用列表推导、仅对 None 使用 is、用 lambda i=i 或 functools.partial 捕获值、用 math.isclose 或 Decimal 处理浮点、遍历 list(d.keys()) 后再删除、在 init 中初始化实例属性、捕获具体异常类型。限制:资料未提供官方安装命令、收费、平台或价格信息,本节为速查参考而非完整教程;部分行为与 Python 版本相关(如 3.7+ 字典保序、3.13 对模块名遮蔽的警告)。相关技能:python-fundamentals-313、python-testing、python-type-hints。