TypeError:'Kon'对象不可订阅

时间:2016-04-18 18:17:21

标签: python typeerror

我的这个对象名为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

1 个答案:

答案 0 :(得分:2)

不知何故,您认为应该从对象访问数据,就像它是字典一样。

 return c["fullySpecifiedName"]

但您尚未为您的班级实施__getitem__,因此您无法使用[...]表示法从中检索项目。

您可能只想使用常规属性访问来访问该属性:

return c.fullySpecifiedName