我去查找源代码到np.transpose(source),定义似乎是循环的?在
def transpose(a, axes=None):
try:
transpose = a.transpose
except AttributeError:
return _wrapit(a, 'transpose', axes)
return transpose(axes)
如果transpose(a)
所做的就是调用a.transpose
,那么我们如何查找a.transpose
?在
代码的哪一部分在进行换位?我看到的只是转座子的另一个功能。在
Tags:
以下是
_wrapit
的代码:它实际上不是循环引用。}包装在
a.transpose
是对对象方法的引用,而不是numpy定义的函数。它实际上是在说“如果objecta
已经有了一个transpose
方法,那么就别管它;否则,使用_wrapit
将对象{ndarray
对象中”。在由于
ndarray
类有一个transpose
方法,因此将Python对象强制到该类中可以让对象访问该方法。在这有点超出了我的专业领域,但是看起来
ndarray
是在numpy代码的C部分中定义的,因此您可以在那里找到它背后的实际逻辑。在相关问题 更多 >
编程相关推荐