仅供参考我指的答案在这post困惑在Python功能**参数调用
答案的作者给出了下面的代码
def sum(*values, **options):
s = 0
for i in values:
s = s + i
if "neg" in options:
if neg:
s = -s
return s
s = sum(1, 2, 3, 4, 5) # returns 15
s = sum(1, 2, 3, 4, 5, neg=True) # returns -15
s = sum(1, 2, 3, 4, 5, neg=False) # returns 15
然而,当我在我的我跑得到以下错误
NameError: global name 'neg' is not defined
任何人都可以解释这一点。而在一般情况下,如何在功能知道什么时候结束values
当options
开始
'if options.get(“neg”,False):''包含'if'条件。 – glglgl
@glglgl较短的代码似乎会减慢约2.4倍。我猜这是由于'dict.get'方法调用。 – RussW
@RussW Oups!好的,但在多线程程序的情况下,它没有竞争条件。 – glglgl