[英]How do I make a variable function in a class in python 2.7?
因此,我有一个像这样的课程:
class Test(object):
def call(self,instruction,data):
pass
def handle_foo(self,data):
print "Foo: %s" % data
def handle_bar(self,data):
print "%s: bar" % data
和代码调用它像:
t = Test()
t.call("foo","abc")
t.call("bar","def")
如何通过在函数名称中插入变量“指令”来使调用定义调用函数?
我试过了,但是没用
def call(self,instruction,data):
func = "self.handle_%s" % instruction
func(data)
那将使用getattr方法
func = getattr(self, 'handle_%s' % instruction)
func(data)
您可以使用getattr
获取对象名称为字符串的对象的成员。
getattr(self, 'handle_' + instruction)(data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.