我正在尝试继承numpy.ndarray,但需要在方法中调整数组的大小,但到目前为止没有答案:
Resize inherited ndarray, inside a method?
那么我的问题是如何将方法重定向到本地对象。 对于属性,您可以使用 __ getattribute __ , __ getattr __ 是否有类似的方法选项?
类似这样的东西:
SetProperty
答案 0 :(得分:0)
您不仅可以继承numpy.array
吗?
class Blah(numpy.array):
def __init__(self, *args, **kwargs):
numpy.array.__init__(self, *args, **kwargs)
....
def resize(self, ...):
....
作为有时可能更方便的黑客手段,您可以选择替代
class Blah:
...
def __getattr__(self, name):
return getattr(self.obj, name)
但这通常是您以后会后悔的事情:-}。
编辑:回到第一种(更好的方式):您可以就地调整大小。看到这里:https://numpy.org/doc/stable/reference/generated/numpy.ndarray.resize.html#numpy.ndarray.resize