a+=b
>>> a1 = range(3)
>>> a2 = a1
>>> a2 += [3]
>>> a1
[0, 1, 2, 3]
>>> a2
[0, 1, 2, 3]
a=a+b
>>> a1 = range(3)
>>> a2 = a1
>>> a2 = a2 + [3]
>>> a1
[0, 1, 2]
>>> a2
[0, 1, 2, 3]
æ¾ç¶ï¼ä¸¤è
æ¯æåºå«çï¼èè¿ç§åºå«åªåºç°å¨å¯å对象ä¸ï¼ä¸ºä»ä¹æ¯å¯å对象åé¢å说ï¼ï¼æ¯ä»ä¹åå é æäºä¸¤è
çåºå«å¢ï¼
+= æä½è°ç¨ __iadd__æ¹æ³ï¼æ²¡æ该æ¹æ³æ¶ï¼åå°è¯è°ç¨__add__æ¹æ³
a1 = [0, 1, 2]
a1 += [3]
# çä»·äº
a1.__iadd__([3])
print(a1) #[0, 1, 2, 3]
__iadd__æ¹æ³ç´æ¥å¨å对象a1ä¸è¿è¡æ´æ°ï¼è¯¥æ¹æ³çè¿åå¼ä¸ºNone
+ æä½è°ç¨__add__æ¹æ³
a1 = [0, 1, 2]
a1 = a1 + [3]
# çä»·äº
a1 = a1.__add__([3])
__add__æ¹æ³ä¼è¿åä¸ä¸ªæ°ç对象ï¼å对象ä¸ä¿®æ¹ï¼å 为è¿é a1被éæ°èµå¼äºï¼a1æåäºä¸ä¸ªæ°ç对象ï¼æ以åºç°äºæç« å¼å¤´a1ä¸çäºa2çæ
åµ
a1 = [0, 1, 2]
print(a1.__add__([3])) # [0, 1, 2, 3]
print(a1) # [0, 1, 2]
温馨提示:内容为网友见解,仅供参考