37,970
社区成员




代码如下:
#测试一:
a = 55
b = a
b = 9
print('id(a):'+str(id(a)))
print('id(b):'+str(id(b)))
print('a:'+str(a))
print('b:'+str(b))
output:
id(a):140718576206592
id(b):140718576205120
a:55
b:9 # 我的理解,应该a和b应该都是一样的都是9才对啊?
#测试二:
a = 55
b = a
a = 88
# b = 9
print('id(a):'+str(id(a)))
print('id(b):'+str(id(b)))
print('a:'+str(a))
print('b:'+str(b))
output:
id(a):140718576207648
id(b):140718576206592
a:88
b:55 # 我的理解,应该a和b应该都是一样的都是88才对啊?
不知是我哪里理解错了?
测试一中
b=a时,相当于把b的地址设置和a一样,这时b和a一样
b=9时,相当于b重新申请了内存地址
【a=b,若a改变,b也跟着改变】因该说的是类实例,若a改变其中类实例变量,那么b中的实例变量也会跟着改变