Python中默认参数的范围是什么?

Python中默认参数的范围是什么?,第1张

Python中默认参数的范围是什么?

范围是您所期望的。

可能令人惊讶的是,默认值仅计算一次并重新使用,因此每次调用该函数时,您将获得相同的列表,而不是初始化为[]的新列表。

该列表存储在中

f.func_defaults

def f(a, L=[]):    L.append(a)    return Lprint f(1)print f(2)print f(3)print f.func_defaultsf.func_defaults = (['foo'],) # Don't do this!print f(4)

结果:

[1][1, 2][1, 2, 3]([1, 2, 3],)['foo', 4]


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5661609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存