gpt4 book ai didi

python - Python 列表中 x += x 和 x = x + x 的区别

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:23 25 4
gpt4 key购买 nike

代码优先:

# CASE 01
def test1(x):
x += x
print x

l = [100]
test1(l)
print l

CASE01 输出:

[100, 100]
[100, 100]

没关系!因为 l(列表)是可变的。

然后,

# CASE 02
def test2(x):
x = x + x
print x

l = [100]
test2(l)
print l

CASE02 输出:

[100, 100]
[100]

虽然区别还是可以理解的。在 x = x + x 方式中,最左边的 x 已被创建/分配为新的。

但是为什么?

如果x += xx = x + x在定义上是一样的,但是为什么会有两个不同的结果呢?两种方式的细节如何?

谢谢!

最佳答案

x += x 在后台调用 append,这会改变原始变量

x = x + x 正在为 test2 创建一个本地新变量并设置该值,这不会影响原始 x

关于python - Python 列表中 x += x 和 x = x + x 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44511335/

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