2024-04-18 03:02:59 发布
网友
如果我有一个Python类,并且想根据变量从中调用一个函数,我该怎么做?我想象着下面可以做到:
class CallMe: # Class def App(): # Method one ... def Foo(): # Method two ... variable = "App" # Method to call CallMe.variable() # Calling App()
但不行。还有别的办法吗?
你的代码看起来不像python,你想这样做吗?
class CallMe: def App(self): #// Method one print "hello" def Foo(self): #// Method two return None variable = App #// Method to call CallMe().variable() #// Calling App()
你可以这样做:
getattr(CallMe, variable)()
getattr是一个内置方法,它返回对象的命名属性的值。本例中的值是一个方法对象,您可以用()调用它
可以使用getattr,也可以将绑定或未绑定方法分配给变量。绑定方法绑定到类的特定实例,而未绑定方法绑定到类,因此必须将实例作为第一个参数传入。
例如
class CallMe: def App(self): print "this is App" def Foo(self): print "I'm Foo" obj = CallMe() # bound method: var = obj.App var() # prints "this is App" # unbound method: var = CallMe.Foo var(obj) # prints "I'm Foo"
你的代码看起来不像python,你想这样做吗?
你可以这样做:
getattr是一个内置方法,它返回对象的命名属性的值。本例中的值是一个方法对象,您可以用()调用它
可以使用getattr,也可以将绑定或未绑定方法分配给变量。绑定方法绑定到类的特定实例,而未绑定方法绑定到类,因此必须将实例作为第一个参数传入。
例如
相关问题 更多 >
编程相关推荐