Python的增量赋值

对于python来讲,a=a+b 和a+=b的区别是什么。python

增量赋值运算符+=和*=的表现取决于第一个操做对象。实际上会调用对象的__iadd__和__imul__方法,当该方法未实现的时候会调用__add__和__mul__方法。而对于可变对象通常都实现了__iadd__和__imul__方法。web

因此对于不可变对象来讲两种方式并无区别,而可变对象的增量赋值则会在原地进行操做,所以图中的数组的内存地址并无变。数组

在这里插入图片描述
在这里插入图片描述