python中a = a+b与a += b的不同


a = a + b
创建过程是:先创建的a+b的对象放入内存,然后变量a指向了a+b的对象,这事实上已经改变了a原本的指向,指向了新的地址。
a += b
创建过程是:把a原本指向内存地址的对象的值改变成了a+b,能不能改变取决于该对象的值能不能被改变。
对于可变对象类型和不可变对象类型有不同的结果:
可变对象类型:+=改变了原本地址上对象的值,不改变原本的指向地址;=则改变了原本的指向地址,创建了新的对象,并指向新的地址
不可改变对象类型:都是改变原本的指向地址,指向新创建的对象地址 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM