字典值来调用类的方法

时间:2019-06-09 19:30:34

标签: python python-3.x python-requests jupyter-notebook

我有一个字典,其中包含函数名称,即i。 e。

dict = {
    'family1' :
        ['classA(param1=555','classB(param1=777)'] }

现在,我想像这样调用类的方法:

myclass = dict['family1'][0]
myclass.method()

但是,我得到的str对象没有method()(但是它确实具有method(),但是我似乎无法识别myclass并保留了字符串。

最佳答案: 从['functioname']中删除“”,以使字典中没有字符串,但其中包含实际的函数引用。然后,调用将不会引用字符串,而是引用函数。

2 个答案:

答案 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
相关问题