如是,一个教程说b=a相当于给a起了个别名,使用a is b判断结果为True也说明他两个是一个物体,但是删除a之后b理应也没了,但是b的值仍然为3,这是为什么?难道我理解的有问题?
第1个回答 2015-11-05
b也被赋予了真正的值,print b的时候,打印出来的就是3。a是变量的时候,b=a,也就是b也被赋予了a的对应的值,a和b是等价的,所以删a后b仍会有值,
第2个回答 2015-11-05
python中采用的是对象引用的方式,
a=3 //a是一个引用,指向3
b=a //b也是一个引用,指向的是同一个3
del a //删除的是引用,而不是对象,因为该对象还被b引用着。
没有任何引用的对象由自动垃圾回收机制删除。本回答被提问者采纳
a=3 //a是一个引用,指向3
b=a //b也是一个引用,指向的是同一个3
del a //删除的是引用,而不是对象,因为该对象还被b引用着。
没有任何引用的对象由自动垃圾回收机制删除。本回答被提问者采纳