python赋值a=3,b=a,del a 为什么b还存在?

如是,一个教程说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引用着。
没有任何引用的对象由自动垃圾回收机制删除。本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网