有时,使用一个空列表作为默认参数似乎很自然。然而,Python 在这些情况下会产生意想不到的行为。例如,考虑这个函数:def my_func(
有时,使用一个空列表作为默认参数似乎很自然。然而, Python 在这些情况下会产生意想不到的行为。 .
例如,考虑这个函数:
def my_func(working_list=[]):
working_list.append("a")
print(working_list)
第一次调用时,默认设置会起作用,但之后的调用将更新现有列表( "a"
每次调用一个)并打印更新后的版本。
我如何修复该函数,以便在没有明确参数的情况下重复调用它时,每次都使用一个新的空列表?
如何避免由 Python 早期绑定的默认参数引起的问题(例如,可变默认参数“记住”旧数据)?
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!