функция получает функцию в качестве аргумента и выбрасывает объект 'numpy.ndarray', который не вызывается - PullRequest
0 голосов
/ 13 марта 2019

Я вызываю функцию с другой функцией в качестве аргумента.Другая функция возвращает 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?

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Похоже, вы передаете результат вызова method1 (который на самом деле numpy.ndarray) в method2, а не сам метод.

Вызов в конце должен быть a.method2(a.method1) без паренов.

0 голосов
/ 13 марта 2019

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())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...