编码时如何阻止自己覆盖Python函数?

Nic*_*man 6 python function built-in

在追踪我的Python代码中的错误时,一个持续头痛的根源似乎是无关紧要的片段,如下所示:

 list = ['a', 'b', 'c', 'c']
 list(set(list))
Run Code Online (Sandbox Code Playgroud)

这失败了,因为我用变量列表覆盖了函数list().

显然是一个人为的例子,但关键是Python很高兴让我用变量覆盖内置函数.我意识到这是Python中的一个重要特性,但如果我在代码中执行此操作时解释器会警告我,我会非常喜欢它,因为我通常不打算这样做.

任何人都可以建议一个解决方案(除了更加小心) - 因为我一直在绊倒这个问题?

Bot*_*res 9

你应该使用Pylint.如果您使用的是Eclipse + PyDev,则可以将其配置为在IDE中自动运行并突出显示此问题(以及许多其他问题).


Bry*_*ley 3

使用语法突出显示文本编辑器,该编辑器将以与代码其余部分不同的颜色突出显示关键字。