无法从函数获得输出

时间:2019-05-02 15:21:40

标签: python

我想用类中的变量调用函数:

class A:
    def __init__(self, name, jsonItem):
        fDic = {
            'A', self.build_item(jsonItem)
        }

        self.fActive = fDic[name]

    def build_item(self, jsonItem):
         return [jsonItem["name"],jsonItem["property"]]

    def run_function(self):
        self.fActive()

main.py:

data = A("A", jsonItem)
print data.run_function()

当我打电话给我时:

'set' object has no attribute '__getitem__'

你能解释一下我吗?

1 个答案:

答案 0 :(得分:5)

fDic中的

__init__是一个集合,您不能使用[ ]来访问集合中的项目。看来您打算将fDic用作字典。那么您的__init__的代码应该是

def __init__(self, name, jsonItem):
    fDic = {
        'A' : self.build_item(jsonItem)
    }
    self.fActive = fDic[name]

尤其要注意:之后的'A'