如果在类中定义了__getitem__()方法,那么他的实例对象(假设为x)就可以有P[key]这种形式的取值。当实例对象做P[key]运算时,就会调用类中的__getitem__()方法中的内容。
接下来我们举一个例子:
class Examle:
def __init__(self,first,second):
self.first = first
self.second = second
def __getitem__(self,key):
return "to be better"
test1 = Example(1,2)
print(test1[1])
输出结果:
to be better
可以看出实例对象重的key参数值不管是否存在与__getitem__()方法中,都会调用类中的__getitem__()方法。这时候的返回值就是规定的renturn值。