function将函数作为参数获取并抛出'numpy.ndarray'对象不可调用

问题描述 投票:0回答:2

我用其他函数作为参数调用一个函数。另一个函数返回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中运行它是否有办法?

python numpy arguments
2个回答
0
投票

看起来你正在将调用method1(实际上是numpy.ndarray)的结果传递给method2而不是方法本身。

最后的电话应该是没有父母的a.method2(a.method1)


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())
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.