gpt4 book ai didi

python - 将列表作为默认函数参数的奇怪行为

转载 作者:太空宇宙 更新时间:2023-11-04 07:02:42 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
“Least Astonishment” in Python: The Mutable Default Argument
List extending strange behaviour
Pyramid traversal view lookup using method names

假设我有这个功能:

def a(b=[]):
b += [1]
print b

调用它会产生这样的结果:

>>> a()
[1]
>>> a()
[1, 1]
>>> a()
[1, 1, 1]

当我将 b += [1] 更改为 b = b + [1] 时,函数的行为发生了变化:

>>> a()
[1]
>>> a()
[1]
>>> a()
[1]

b = b + [1]b += [1] 有何不同?为什么会这样?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com