我用另一个函数作为参数调用一个函数。另一个函数返回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中运行它?
答案 0 :(得分:0)
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())
答案 1 :(得分:0)
似乎您正在将调用结果 method1
(实际上是numpy.ndarray
)传递给method2
而不是方法本身。 / p>
最后的呼叫应为a.method2(a.method1)
,且不带括号。