第一段代码:
# -*- coding:gb2312 -*-
a = [100]
def test(num):
num += num #第一段代码
print(num)
test(a)
print(a)
执行结果:
第二段代码:
# -*- coding:gb2312 -*-
a = [100]
def test(num):
num = num + num #这个地方改了一下
print(num)
test(a)
print(a)
执行结果:
我的问题:
num += num不应该直接等价于mun = num+num 么
为什么算出来结果却是不一样的?这个是什么情况
在python中,a=a+b是先创建一个新的对象并让变量a引用这个对象,a+=b是让a所引用的对象的值变成a+b的值