<分区>
例如:
def foo():
print 'first foo'
def foo():
print 'second foo'
foo()
默默地产生:second foo
今天,我在同一个文件中复制/粘贴了一个函数定义,并在第二个定义的主体中更改了几行,但忘记更改函数名称本身。看着输出,我挠了挠头很长时间,花了一段时间才弄明白。
如何强制解释器在重新定义函数时至少抛出一个警告?提前致谢。
标签 python
<分区>
例如:
def foo():
print 'first foo'
def foo():
print 'second foo'
foo()
默默地产生:second foo
今天,我在同一个文件中复制/粘贴了一个函数定义,并在第二个定义的主体中更改了几行,但忘记更改函数名称本身。看着输出,我挠了挠头很长时间,花了一段时间才弄明白。
如何强制解释器在重新定义函数时至少抛出一个警告?提前致谢。
最佳答案
如何使用 pylint
?
pylint your_code.py
让 your_code.py
成为
1 def dup():
2 print 'a'
3 def dup():
4 print 'a'
5
6 dup()
pylint
显示
C: 1,0: Missing docstring
C: 1,0:dup: Missing docstring
E: 3,0:dup: function already defined line 1 <--- HERE!!!!
C: 3,0:dup: Missing docstring
...
如果您使用 Pydev
,您可以交互式地查找重复项。
当 mouseover
第二个 dup
时,它显示 Duplicated signature: dup
。
关于Python:为什么函数的重新定义不是错误?有没有一种骇人听闻的方式来拥有该功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23154893/