您需要使用
__getitem__方法。
class MyClass: def __getitem__(self, key): return key * 2myobj = MyClass()myobj[3] #Output: 6
如果要设置值,则也需要实现该
__setitem__方法,否则会发生这种情况:
>>> myobj[5] = 1Traceback (most recent call last): File "<stdin>", line 1, in <module>AttributeError: MyClass instance has no attribute '__setitem__'


![如何在Python中覆盖[]运算符? 如何在Python中覆盖[]运算符?](http://www.mshxw.com/aiimages/31/517157.png)
