Python将函数传递给对象
我试图创建一个类,该类允许用户创建一个自定义按钮对象,该对象保存按钮的外观属性,以及一个函数,我希望在调用按钮的executeFunction()命令时能够运行该函数 这是正确的方法,还是有具体的方法来执行此类操作?您应该Python将函数传递给对象,python,oop,object,attributes,Python,Oop,Object,Attributes,我试图创建一个类,该类允许用户创建一个自定义按钮对象,该对象保存按钮的外观属性,以及一个函数,我希望在调用按钮的executeFunction()命令时能够运行该函数 这是正确的方法,还是有具体的方法来执行此类操作?您应该 newButton = Button("Example", red, foo) 这将传递foo,而不是像代码那样传递foo的返回值。您应该 newButton = Button("Example", red, foo) 这将传递foo,而不是像代码那样传递foo的返回值。
newButton = Button("Example", red, foo)
这将传递foo,而不是像代码那样传递foo的返回值。您应该
newButton = Button("Example", red, foo)
这将传递foo,而不是像代码那样传递foo的返回值。在python中,函数也是对象,可以传递。您的代码中有一个小错误,这是一个简化的简单方法 第一个问题是调用函数
foo
,同时将其传递给按钮
类。这将把foo()
的结果传递给类,而不是函数本身。我们只想通过foo
我们可以做的第二件好事是将函数分配给一个名为function(或executeFunction,如果需要)的实例变量,然后可以通过newButton.function()
调用它
在python中,函数也是对象,可以传递。您的代码中有一个小错误,这是一个简化的简单方法 第一个问题是调用函数
foo
,同时将其传递给按钮
类。这将把foo()
的结果传递给类,而不是函数本身。我们只想通过foo
我们可以做的第二件好事是将函数分配给一个名为function(或executeFunction,如果需要)的实例变量,然后可以通过newButton.function()
调用它
如果我传入一个这样的函数,我应该能够从一个方法调用它,非常好?如果我传入一个这样的函数,我应该能够从一个方法调用它,非常好?red定义了吗?您可能正在寻找“red”。不,我只是以它为例,它通常是一个RGB元组。是否定义了red?你可能在寻找“红色”,不,我只是用它作为例子,它通常是一个RGB元组。
def foo():
print "bar"
class Button(object):
def __init__(self, name, color, function):
self.name = name
self.color = color
self.function = function
newButton = Button("Example", red, foo)
newButton.function()