Python 常见的Python编程错误有哪些?
以下是程序员经常会犯的最常见的Python编程错误和坑点:
- 作用域名称查找 – Python按照LEGB(本地,封闭,全局,内置)的顺序遵循作用域规则。由于Python没有严格的类型绑定,因此程序员可以将外部作用域变量重新关联到可能在外部作用域稍后使用但现在已被某些其他值替换的另一个值。
-
不区分is和 – is是Python中的一个运算符,用于检查两个对象是否引用同一内存地址。在其他类中,运算符执行eq函数,该函数可能以不同的方式检查相等性。
-
在迭代列表时修改列表 – 如果在迭代列表时从列表中删除元素,将会出现IndexError。这是因为列表大小减小,而您没有将索引随之减小。
-
闭包绑定:考虑以下代码 –
阅读更多:Python 教程
例子
listLambdas = [lambda x : i + x for i in range(5)]
for lam in listLambdas:
print(lam(10))
输出
这将给出以下输出:
14
14
14
14
14
惊讶?这是由于绑定闭包引起的。此列表中的所有lambda都参考变量i,即当它更改时,这些lambda开始引用新值。
-
与内置名称冲突 – 您在某个时间点必须创建过名为sum的变量。请注意,在这种情况下,您重新分配了对sum函数的引用。对于此类事物,这似乎微不足道,但是当以这种方式命名包时,可能会导致一些严重问题。这可能会导致其他包导入您的类而不是标准类。
-
运算符的不直观实现 – Python提供了一种为类重载运算符函数的方式。往往情况下,人们倾向于以不寻常的方式实现这些操作符,从而创建复杂和不直观的API。
极客教程