为什么空字典在Python中是一个危险的默认值?
这个问题在这里已经有了答案:
只有当你的函数修改参数时才是危险的。 如果您修改了默认参数,它将一直持续到下一次调用,因此您的“空白”字典将开始包含第一个调用以外的值。
是的,在这种情况下使用None
既安全又传统。
我们来看一个例子:
def f(value, key, hash={}):
hash[value] = key
return hash
print f('a', 1)
print f('b', 2)
你可能期望输出的是:
{'a': 1}
{'b': 2}
但实际产出:
{'a': 1}
{'a': 1, 'b': 2}
链接地址: http://www.djcxy.com/p/28517.html
上一篇: Why is the empty dictionary a dangerous default value in Python?