首页 > 解决方案 > 无法从函数中获取输出

问题描述

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

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()

主.py:

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

当我打电话给这个时,我有:

'set' object has no attribute '__getitem__'

你能给我解释一下吗?

标签: python

解决方案


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

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

特别要注意:after 'A'


推荐阅读