我有一个字典,其中包含函数名称,即i。 e。
dict = {
'family1' :
['classA(param1=555','classB(param1=777)'] }
现在,我想像这样调用类的方法:
myclass = dict['family1'][0]
myclass.method()
但是,我得到的str对象没有method()(但是它确实具有method(),但是我似乎无法识别myclass并保留了字符串。
最佳答案: 从['functioname']中删除“”,以使字典中没有字符串,但其中包含实际的函数引用。然后,调用将不会引用字符串,而是引用函数。
答案 0 :(得分:1)
您应该在字典中放置实际功能。 Python中的函数和lambda是一流的类型,因此您可以在数据中使用它们。
functions = {
'family1' :
[lambda:classB(param1=555), lambda:classB(param1=777)],
'family2' :
[lambda:functionname(param1=6981),lambda:functionname(param1=9333)] }
def functionname(param1): print(param1)
functions['family2'][0]() # prints 6981
functions['family1'][0]() # returns classB(param1=555)
答案 1 :(得分:1)
pickle