默认情况下,NumPy假定未知对象(不是从ndarray继承)是标量,并且需要对任何NumPy数组的每个元素进行“向量化”乘法。
要自己控制操作,您需要设置
__array_priority__(大多数向后兼容)或
__array_ufunc__(仅适用于NumPy
1.13+)。例如:
class myworkingobj(myobj): __array_priority__ = 1000A = myworkingobj()B = np.random.rand(3, 3)B * A # Multiplication of arrays



