Python numpy中运算符重载的有趣行为

时间:2017-03-24 21:50:05

标签: python list numpy

说我有一个python数组和一个numpy数组

import numpy as np
python_array = [range(20), range(20), range(20)] 
numpy_array = np.array(python_array)

你可以这样做:

numpy_array + python_array

然而,这给出了相同的结果:

python_array + numpy_array

而python数组的__add__只是串联。事实上,如果你这样做:

python_array.\__add__(numpy_array)

它给出了:

 can only concatenate list (not "numpy.ndarray") to list

有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:1)

如果b无法理解操作,a + b实施a的{​​{3}}方法也是如此。您正在查看numpy.ndarray.__radd__