我遇到了关于 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
,它们在底层实现上有什么区别?