事实是,当Python遇到诸如的表达式时
data["key"]["subkey"],内部将完成
(data["key"])["subkey"]。即,表达式的第一部分被解析:从对象“数据”中检索“键”项。然后,Python尝试调用
__getitem__该表达式的结果对象。如果这样的结果对象本身没有
__getitem__方法,则可能是您的错误。
那里有两种可能的解决方法:您应该使用“元组索引”(例如
data["key","subkey"](然后
__getitem__以元组实例为键,然后在您的方法上进行测试))-或
__getitem__返回一个还具有
__getitem__方法的专用对象-
即使它所做的就是记录请求的密钥。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)