我有一个我正在处理的脚本,它具有带功能的开关。
我希望在keyCodes上创建案例并使用参数执行正确的方法。密钥代码可以是'C'或'P',否则'无效'将是提示。
class Switcher(object):
def indirect(self, code):
method_name = 'method_' + str(code)
method = getattr(self,method_name, lambda: 'Invalid')
return method()
def method_C(self,title):
return 'method_C' + title
def method_P(self,title):
return 'method_P' + title
我的主要()如下:
s = Switcher()
func = s.indirect('C')
a = func("I'm at Method_C")
print(a)
我试图将生成的方法传递给参数时遇到异常
TypeError: 'str' object is not callable
与代码行相关:a = func(“我在Method_C”)
有任何想法吗 ?
我想调用基于1个关键参数的方法,并在调用结果方法之前将参数传递给它。
更清楚我希望:
1. send key = 'C'.
2 the switch will select method_C as result.
3. to call the method_C with string argument (without knowing which method was
resulted).