Я столкнулся с чем-то интересным о расширенном назначении python +=
кажется, что автоматическое преобразование типа данных не всегда выполняется для a += b
, если a является "более простым" типом данных, а a = a + b
работает всегда
случаи, когда выполняется преобразование
a = 1
b = 1j
a = 1
b = 0.5
случай, когда преобразование не выполняется
from numpy import array
a = array([0, 0 ,0])
b = array([0, 0, 1j])
после a += b
, a
остается целочисленной матрицей, а не сложной матрицей
Я привык думать, что a += b
совпадает с a = a + b
, какова разница между ними в основной реализации?