GUIDE深度 · Deep dive
Python 常见坑
Python 很多 bug 来自“看起来对”。可变默认参数、列表浅拷贝、is 与 ==、整除和浮点误差是高频坑;先预测输出,再运行验证。
四个高频坑
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 汉字学习顺序阅读指南KEEP READING
继续读
按顺序读,或跳到同主题的其他指南。