假设我在python中使用OpenGL。
您经常拨打电话,例如
glutDisplayFunc(display)
其中display是您编写的函数。
如果我有课
怎么办?class foo:
#self.x=5
def display(self, maybe some other variables):
#run some code
print("Hooray!, X is:", self.x)
我想传递那个显示功能并打印出来“Hooray!,X is:5”
我会将其作为
传递给我h = foo()
glutDisplayFunc(h.display)
这可行吗?
答案 0 :(得分:0)
是的,你可以这样调用这个函数:
h = foo()
glutDisplayFunc(h.display)
答案 1 :(得分:0)
如果这是你的班级:
class Foo():
def __init__(self):
self.x = 5
def display(self):
print("hooray {}".format(self.x))
这是你的glut_display_func()
:
def glut_display_func(func):
func()
你可以这样做:
foo = Foo()
foo.display()
glut_display_func(foo.display)
得到相同的结果:
hooray 5
hooray 5