拍照搜题秒出答案,一键查看所有搜题记录
拍照搜题秒出答案,一键查看所有搜题记录
想要了解a += b和a = a + b结果是不是一样要先知道什么是可变变量和不可变变量。
不可变类型在进行+=和=+之后结果是一样的
可变类型a=a+b情况
通过上图對比我们发现可变类型的变量在进行a += b和a = a + b时结果是不一样的。在进行+=操作时a1和a2值同时改变,但是在进行先加后赋值时a1和a2不能同时改变
可变类型使用加号操作(即a=a+b),调用__add__会返回一个新的对象原来的对象不变。
可变类型使用+=操作(即a+=b)调用__iadd__方法,第一个参数的值改变即a1指向的本身内容发生改变,指向位置不发生改变
a1 += b后a1指向的内容发生改变,指向的位置不发生改变所以a2的内容也会跟着a1一起改变