【发布时间】:2013-11-20 13:53:50
【问题描述】:
是否可以创建一个还不存在的键值,重新加载方法__getitem__?
我试试:
class Dict_(dict):
def __getitem__(self, key):
if key in self:
self[key] = {}
return self[key]
else:
return self[key]
我明白为什么会有堆栈溢出, 但我不明白为什么没有溢出
class Dict_(dict):
def __getitem__(self, key):
if key not in self:
self[key] = {}
return self.get(key)
else:
return self.get(key)
查看描述,看到使用 get 时也使用 __ getitem__ - D[k]
D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.
请告诉我,如何通过__getitem__做我想做的事?
【问题讨论】:
标签: python python-2.7 dictionary