无法从函数获取输出

2024-06-16 08:27:58 发布

您现在位置: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()

你知道吗主.py地址:

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

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

'set' object has no attribute '__getitem__'

你能解释一下吗?你知道吗


Tags: 函数runnamebuildselfdatainitdef
1条回答
网友
1楼 · 发布于 2024-06-16 08:27:58

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

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

特别要注意:后面的'A'。你知道吗

相关问题 更多 >