如何将函数传递并存储到对象中,以后用方法调用?

时间:2016-03-22 22:11:23

标签: python python-2.7

我正在尝试创建一个具有press方法的按钮类,但是在创建对象时,会立即返回创建对象时传递的函数。是否可以将函数传递给对象并存储结果以便以后调用?

Character:

2 个答案:

答案 0 :(得分:0)

您想传入一个函数,而不是该函数的输出,因此您需要Button(func)。但是,在press内,您想要调用它:return self.function()

答案 1 :(得分:0)

您必须传递函数func而不是函数func()的结果,然后使用press()

function()中调用它
class Button:
    def __init__(self, function):
        self.function = function

    def press(self):
        return self.function()


def func():
    print("results")

button1 = Button(func)
#results is NOT printed here

button1.press()
#results is printed here