1

我想继承 numpy.ndarray 来自定义一些行为。作为第一步,我尝试创建自己的类,如下所示。但我从来没有得到正确的初始化。下面我用 [1.,2.] 初始化我的课程,并期望 "print a" 行将返回我 [1.,2.]。但它总是返回我 [[some_random_number, some_random_number]]。所以尺寸是错误的,初始值的分配失败。请帮忙。我想不通。

import numpy as np

class imarray(np.ndarray):
  def __init__(self, d):
      data = np.asarray(d)
      super(imarray, self).__init__((data.size,), dtype=data.dtype, buffer=data)

if __name__ == "__main__":
  a = imarray([1.,2.])
  print a
4

0 回答 0