在這種情況下,爲什麼x += y
產生與x = x + y
不同的結果?Numpy,爲什麼`x + = y`產生與`x = x + y`不同的結果?
import numpy as np
x = np.repeat([1], 10)
y = np.random.random(len(x))
x += y
print x
# Output: [1 1 1 1 1 1 1 1 1 1]
x = x + y
print x
# Output: [ 1.50859536 1.31434732 1.15147365 1.76979431 1.64727364
# 1.02372535 1.39335253 1.71878847 1.48823703 1.99458116]
確實是一個重複的。簡短的回答:取決於執行魔法「dunder」方法'__add__'和'__iadd__' –
**這不是重複的**,這是特定於'numpy' – jamylak
@jamylak哦 - 的確,謝謝! –