这是两个几乎完全相同的功能。唯一的区别是变量名中的前导下划线。
没有global
语句,代码不正确。 pylint的警告是:
W:14,8:重新定义名称' saved_args'来自外部范围(第9行) (重新定义-外名)
然而,未检测到同一错误的第一次出现。当变量以下划线开头时,pylint
保持静默。为什么?这是一个错误还是没有?
_saved_args = []
def func1(*args):
# global _saved_args
if args != _saved_args:
_saved_args = args
# do something
saved_args = []
def func2(*args):
# global saved_args
if args != saved_args:
saved_args = args
# do something