我已经阅读了__getitem__Python文档中的大多数文档,但仍然无法理解它的含义。
因此,我所能理解的__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__内部调用。但是为什么要这样做呢?
有人可以详细解释一下吗?
__getitem__您的示例中的用法没有多大意义,但请想象您需要编写一个自定义列表或字典类的类,该类必须与使用的现有代码一起使用[]。在这种情况下__getitem__很有用。