程序员老司机都要错的 Python 陷阱与缺陷列表


程序员老司机都要错的 Python 陷阱与缺陷列表

文章插图
 
 
我个人对陷阱的定义是这样的:代码看起来可以工作,但不是以你“想当然“”的方式 。如果一段代码直接出错,抛出了异常,我不认为这是陷阱 。比如,Python程序员应该都遇到过的“UnboundLocalError”, 示例:
>>> a=1>>> def func():... a+=1... print a...>>> func()Traceback (most recent call last):File "<stdin>", line 1, in <module>File "<stdin>", line 2, infuncUnboundLocalError: local variable 'a' referenced before assignment
 
对于“UnboundLocalError”,还有更高级的版本:
import random def func(ok): if ok: a = random.random() else: import random a = random.randint(1, 10) return a func(True)


    推荐阅读