我正在尝试创建一个继承numpy.ndarray
的类,但是我想使用返回ndarray
的函数将其初始化。具体来说,我想使用方便的numpy.genfromtxt()
函数从CSV文件中生成ndarray
。例如(我知道此代码不执行我想要的操作(:
class MyClass(numpy.ndarray):
def __init__(self, other_parameter):
self = numpy.genfromtxt(filename, delimiter=',')
self.other_param = other_parameter
重点是,我想通过添加其他功能/属性而不会将接口丢失到ndarray
来稍微扩展ndarray
。我知道我可以将属性拼凑在一起,其中一个是ndarray
。是否可以使用condotor(在我的类定义__init__()
中(扩展它,而不是super().__init__()
?
我已经找到了其他几种其他语言的此类内容的答案,但没有python。我以前想使用类似的初始化功能,并且从未找到该执行此操作。
此答案的荣誉主要属于Juanpa.Arrivillaga上述评论。答案是提供的链接的这一部分。整个文档页面中的其余信息都有助于完全理解它。
简短的答案是,在自定义类别中,使用__new__()
构造函数(我还不知道的标准Python(和"视图铸造",这是特殊的ndarray
功能。