Python 为什么可以';从np.ndarray实例调用t_uu数组函数?

Python 为什么可以';从np.ndarray实例调用t_uu数组函数?,python,arrays,numpy,Python,Arrays,Numpy,我正在尝试编写一个自定义数组容器,但我不明白为什么下面的代码总是返回NotImplemented 将numpy导入为np a=np.array([1]) 形状=(2,2) a、 数组函数(func=np.broadcast\u to,types=(np.ndarray,type(shape)),args=(a,shape),kwargs={}) Out[5]:未实现 尽管常规方法显然有效 np.广播到(a,形状) 出[6]: 数组([[1,1], [1, 1]]) 函数np.broacast

我正在尝试编写一个自定义数组容器,但我不明白为什么下面的代码总是返回
NotImplemented

将numpy导入为np
a=np.array([1])
形状=(2,2)
a、 数组函数(func=np.broadcast\u to,types=(np.ndarray,type(shape)),args=(a,shape),kwargs={})
Out[5]:未实现
尽管常规方法显然有效

np.广播到(a,形状)
出[6]:
数组([[1,1],
[1, 1]])
函数
np.broacast\u to
只是一个例子,
np.reformate
也有同样的问题


有人知道我的错误是什么吗?

类型
应该只包括实际实现
\uuu数组\u函数的类型
type(shape)
没有实现
\uuuuuuuuuuuuuuuu函数
,所以它不应该在
类型中

这肯定是问题所在,那么
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu数组函数
如何知道如果两个iterable长度不同,哪个类型对应于哪个参数?看一看。示例前的前几段给出了答案。