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