将可变对象设置为函数中参数的默认值是 Python 中的一个常见错误。这里有一个来自 David Goodger 写的这篇精彩的文章的例子:
>>> def bad_append(new_item, a_list=[]):
a_list.append(new_item)
return a_list
>>> print bad_append('one')
['one']
>>> print bad_append('two')
['one', 'two']
发生这种情况的原因是 给你。
现在回答我的问题: 这种语法有好的用例吗?
我的意思是,如果遇到它的每个人都犯同样的错误,调试它,理解问题,并从此试图避免它,这样的语法有什么用?