class A(numpy.ndarray):
def __init__(self,x,y):
print ('Конструктор')
a = A(2,3)
给出错误:TypeError:数据类型不理解如果使用了一个参数。
class A(numpy.ndarray):
def __init__(self,x):
print ('Конструктор')
a = A(2)
没关系,构造函数会被打印出来。如果没有参数
class A(numpy.ndarray):
def __init__(self):
print ('Конструктор')
a = A()
那将是一个错误: TypeError: Required argument 'shape' (pos 1) not found 为什么不能重载 numpy.ndarray 构造函数
文档说,当重载构造函数时,您需要从__new__
ndarray方法的实现开始,因为与通常情况相反,这是初始化数组的大部分工作。这是文档中的一个简单示例,其中描述了初始化所需的三种推荐方法:__init__还有更高级的示例和每个构造器阶段的角色的详细描述。