我想在类中使用变量调用函数:
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()
Run Code Online (Sandbox Code Playgroud)
main.py:
data = A("A", jsonItem)
print data.run_function()
Run Code Online (Sandbox Code Playgroud)
当我打电话给我时,我有:
'set' object has no attribute '__getitem__'
Run Code Online (Sandbox Code Playgroud)
你能解释一下吗?
小智 5
fDicin __init__是一个集合,您不能使用[ ]来访问集合中的项目。看来您打算fDic用作字典。那么您的代码__init__应该是,
def __init__(self, name, jsonItem):
fDic = {
'A' : self.build_item(jsonItem)
}
self.fActive = fDic[name]
Run Code Online (Sandbox Code Playgroud)
特别要注意:after 'A'。