程序员常犯的Python编程错误是什么?

这是程序员犯下的一些最常见的python编程错误/陷阱-

  • 范围名称查找-Python按照LEGB(本地,封闭,全局,内置)的顺序遵循作用域规则。由于python没有严格的类型绑定,因此程序员可以将外部作用域变量与另一个值相关联,该变量稍后可能会在外部作用域中使用,但现在已被其他某个值替代。

  • 不能区分is和==-python中的is运算符检查两个对象是否引用相同的内存地址。==运算符执行__eq__函数,该函数对于不同的类可能会以不同的方式检查相等性。

  • 在遍历列表时修改列表-如果在遍历列表时从列表中删除元素,则会出现IndexError。这是因为列表的大小减小了,而您并没有减少索引的大小。

  • 闭包绑定:请看以下代码-

示例

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。