python求a到b之间整数之和的 a,b=b,a+b 和 a=b b=a+b 的区别

拍照搜题秒出答案,一键查看所有搜题记录

拍照搜题秒出答案,一键查看所有搜题记录

想要了解a += b和a = a + b结果是不是一样要先知道什么是可变变量和不可变变量。

  • 不可变类型:数字字符串,元组

不可变类型在进行+=和=+之后结果是一样的

可变类型a=a+b情况

通过上图對比我们发现可变类型的变量在进行a += b和a = a + b时结果是不一样的。在进行+=操作时a1和a2值同时改变,但是在进行先加后赋值时a1和a2不能同时改变

  • __add__ 方法接收两个参数,返回它们的和两个参数的值均不变。
  • __iadd__ 方法接收两个参数第一个参数的值改变

可变类型使用加号操作(即a=a+b),调用__add__会返回一个新的对象原来的对象不变。

可变类型使用+=操作(即a+=b)调用__iadd__方法,第一个参数的值改变即a1指向的本身内容发生改变,指向位置不发生改变

a1 += b后a1指向的内容发生改变,指向的位置不发生改变所以a2的内容也会跟着a1一起改变

我要回帖

更多关于 python求a到b之间整数之和 的文章

 

随机推荐