Я столкнулся с чем-то интересным о расширенном назначении 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, какова разница между ними в основной реализации?