【发布时间】:2020-04-11 19:07:58
【问题描述】:
我能够继承 numpy :
class myary(np.ndarray):
def __new__(cls, arg1, arg2) :
.....
obj = super(myary, cls).__new__(cls, shape=(arg1,), dtype=np.int)
....
return obj
它有效,但问题是当我应用 numpy 函数时(如 np.concatenate()、np.stack() .... 等)
输出是 ndarray 而不是 myary。
我实现了__array_wrap__,所以 np.sort, np.add ... 工作,但不是我上面提到的那个。
def __array_wrap__(self, out_arr, context=None):
return super(self.__class__, self).__array_wrap__(out_arr, context)
如何强制所有 numpy 方法返回我作为输入传递的任何内容。
【问题讨论】:
标签: python numpy subclassing