GUIDE深度 · Deep dive

Python 常见坑

Python 很多 bug 来自“看起来对”。可变默认参数、列表浅拷贝、is 与 ==、整除和浮点误差是高频坑;先预测输出,再运行验证。

更新 2026-10-30 · 公式可核验

四个高频坑

def f(x=[]):默认列表只创建一次。

y = x 不是拷贝,改 y 会影响 x。

is 比较身份,== 比较值。

0.1 + 0.2 != 0.3(浮点误差)。

怎么避免

默认参数用 None,再在函数内建列表。

需要独立列表用 copy()/切片/深拷贝。

常见问题

为什么 0.1+0.2 不是 0.3?

二进制浮点无法精确表示 0.1;比较用 math.isclose。

is 什么时候用?

和 None/True/False 比较,或确实要比较同一对象。

数据来源

相关计算器

Python 语法游戏化学习:60 张卡片60 张 Python 语法/内置函数卡,先猜输出再显示答案,按遗忘曲线复习。

更多指南

平假名和片假名有什么区别?阅读指南遗忘曲线怎么复习?阅读指南音读和训读怎么分?阅读指南N5 汉字学习顺序阅读指南