在python中有a += 1和a = a + 1这两种赋值方法,二者的区别是什么
首先python中变量名是变量的标签,因此重新赋值在某种意义上是标签的重新指向,而在a += 1和a = a + 1两个问题上,更准确是说是对于不可变对象类型,是重新开辟空间,这个标签指向新的内存空间,对于可变对象类型,则是在原来内存上做操作。
简言之:
对于可变对象,a += 1 直接在原内存地址上操作a = a + 1开辟新的内存操作对于不可变对象,a += 1和a = a + 1都是在新开辟的空间操作对于可变类型,+=内存地址没有改变,而对于不可变类型,内存地址增加了4个字节。而=+这种操作都是增加四个字节。
图片引自https://www.cnblogs.com/shiyublog/p/10809953.html
更多Python数据科学相关见专题Python数据科学技能索引
