考慮以下會話。差異如何解釋?我認爲a += b
是(並因此等於)a = a + b
的語法糖。顯然我錯了。通過引用或python中的值處理數據
>>> import numpy as np
>>> a = np.arange(24.).reshape(4,6)
>>> print a
[[ 0. 1. 2. 3. 4. 5.]
[ 6. 7. 8. 9. 10. 11.]
[ 12. 13. 14. 15. 16. 17.]
[ 18. 19. 20. 21. 22. 23.]]
>>> for line in a:
... line += 100
...
>>> print a #a has been changed
[[ 100. 101. 102. 103. 104. 105.]
[ 106. 107. 108. 109. 110. 111.]
[ 112. 113. 114. 115. 116. 117.]
[ 118. 119. 120. 121. 122. 123.]]
>>>
>>> for line in a:
... line = line + 999
...
>>> print a #a hasn't been changed
[[ 100. 101. 102. 103. 104. 105.]
[ 106. 107. 108. 109. 110. 111.]
[ 112. 113. 114. 115. 116. 117.]
[ 118. 119. 120. 121. 122. 123.]]
謝謝
是這種差異特定於蟒或者是它的'+'與'+ ='在編程語言運營商的共同特徵? – 2010-08-10 09:52:58
@bgbg:這是針對Python的。在C#中,例如'a = a + b'幾乎等同於'a + = b'。 – 2010-08-10 10:05:39
如果您認爲+ =作爲遞增操作而不是快捷方式來添加值,則可以提供幫助。 – 2010-08-10 10:22:49