我已经浏览了Python文档中__getitem__
的大部分文档,但我仍然无法理解它的含义。
所以我所能理解的是__getitem__
是用来实现像self[key]
这样的调用的。但这有什么用呢?
假设我有一个这样定义的python类:
class Person:
def __init__(self,name,age):
self.name = name
self.age = age
def __getitem__(self,key):
print ("Inside `__getitem__` method!")
return getattr(self,key)
p = Person("Subhayan",32)
print (p["age"])
这将返回预期的结果。但是为什么要首先使用__getitem__
呢?我还听说Python在内部调用__getitem__
。但是为什么会这样呢?
有人能详细解释一下吗?