我用其他函数作为参数调用一个函数。另一个函数返回numpy.ndarray。
代码:
class CLASS:
def method1(self):
size = 10
return np.zeros([size,size])
def method2(self, method):
res = method()
a = CLASS ()
b = a.method2(a.method1())
第一个函数抛出TypeError:'numpy.ndarray'对象不可调用
我想在循环中运行method2()
,给出不同的函数作为参数。
问题:在Python 3中运行它是否有办法?
看起来你正在将调用method1
(实际上是numpy.ndarray
)的结果传递给method2
而不是方法本身。
最后的电话应该是没有父母的a.method2(a.method1)
。
a.method1()
返回np.zeros(...)
的结果,这是一个numpy.ndarray
因此当你试图在method()
中调用method2()
时,它失败了,因为那不是一个函数。
你可能想要这个:
import numpy as np
class CLASS:
def method1(self):
size = 10
return np.zeros([size,size])
def method2(self, glcm):
pass
a = CLASS ()
b = a.method2(a.method1())