在两者都可用的语言中,您更愿意看到实例构造函数或返回实例的静态方法吗?
例如,如果您要创建String一个char[]:
String.FromCharacters(chars);
new String(chars);
[Python 3]
我喜欢,ndarray但我觉得使用起来很烦人.
这是我面临的一个问题.我想写class Array一下,它将继承ndarray的大部分功能,但只有一种方法可以实例化:作为一个特定大小的零填充数组.我希望写:
class Array(numpy.ndarray):
def __init__(size):
# What do here?
Run Code Online (Sandbox Code Playgroud)
我想调用super().__init__一些参数来创建一个零填充数组,但由于ndarray使用全局函数numpy.zeros(而不是构造函数)来创建一个零填充数组,因此它不起作用.
问题:
为什么ndarray在很多情况下使用全局(模块)函数而不是构造函数?如果我试图在面向对象的环境中重用它们,那将是一个很大的烦恼.
定义class Array我需要的最佳方法是什么?我应该只手动填充ndarray零,还是有任何方法可以重用该zeros功能?