我的这个对象名为Kon
class Kon:
def __init__(self, cId, isP, fsn = "", snoId = "", synDesc = "", preDesc = ""):
self.conceptId = cId
self.isprimitive = isP
self.fullySpecifiedName = fsn
#self.ctv3id =
self.snomedId = snoId
#self.conceptStatus = ""
self.synonymDesc= synDesc
self.preferredDesc = preDesc
这个函数在另一个类中:
class ConceptList():
def sct2fsn(self,sctId):
c = self.zerrenda.get(sctId,'')
if c:
return c["fullySpecifiedName"]
else:
return ""
为什么我收到此类型错误?
File "/klaseak.py", line 169, in sct2fsn
return c["fullySpecifiedName"]
TypeError: 'Kon' object is not subscriptable
答案 0 :(得分:2)
不知何故,您认为应该从对象访问数据,就像它是字典一样。
return c["fullySpecifiedName"]
但您尚未为您的班级实施__getitem__
,因此您无法使用[...]
表示法从中检索项目。
您可能只想使用常规属性访问来访问该属性:
return c.fullySpecifiedName