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__'
你能给我解释一下吗?
解决方案
fDic
in__init__
是一个集合,您不能使用它[ ]
来访问集合中的项目。看来您打算fDic
用作字典。你的代码__init__
应该是,
def __init__(self, name, jsonItem):
fDic = {
'A' : self.build_item(jsonItem)
}
self.fActive = fDic[name]
特别要注意:
after 'A'
。
推荐阅读
- python - Go 的方式为有符号整数执行 python 的 int.from_bytes
- spring-data-jpa - org.springframework.dao.EmptyResultDataAccessException:不存在 id Y 的类 X 实体
- firebase - 如何知道一个项目在firebase颤振的数组中重复了多少次?
- javascript - 在简单的for循环javascript中等待
- android - 什么时候需要 Modifier.composed { ... }?
- javascript - 画布绘制多行而不是一个 javascript
- http - 使用 Ktor HTTP 客户端(和 kotlinx.io?)直接将可恢复下载到文件
- javascript - PHP JQuery 通过获取 div Id 显示 div 字段
- c# - 为什么事件触发器在统一 2d 中不起作用?
- firemonkey - C++ Builder:转换和打印位图