当实例对象做p[key] 运算时,会调用类中的方法__getitem__
形式一:__getitem__(self, index)
形式二: __getitem__(self, key)
魔法方法__getitem__ 可以让对象实现迭代功能,这样就可以使用 for…in… 来迭代该对象了
在用 for…in… 迭代对象时,如果对象没有实现 __iter__、 __next__ 迭代器协议,Python的解释器就会去寻找__getitem__ 来迭代对象,如果连__getitem__ 都没有定义,这解释器就会报对象不是迭代器的错误
标签:__,key,迭代,对象,self,getitem,方法 From: https://www.cnblogs.com/sangern/p/17454738.html