Python中的 x+=x 与 x = x + x的区别

时间:2021-11-06 01:16:52

对于Python中的可变数据类型(列表,字典)来说,+= 和 ..=..+..是不同的

加等是直接在变量的值上面进行操作,会修改了原来变量的值

先等后加会重新分配一个内存空间,不会再原有的变量值上面进行操作。

a = [2]
b = [2]
def nums(x):
    x += x
    print(x)
def nums2(x):
    x = x + x
    print(x)
nums(a)
print(a)
nums2(b)
print(b)

  结果为:

[2, 2]
[2, 2]
[2, 2]
[2]

可以看到函数nums2没有改变变量 b 的值。