在Python中,用于重载类的[]
运算符(下标符号)的方法名是什么?
__getitem__
方法。class MyClass:
def __getitem__(self, key):
return key * 2
myobj = MyClass()
myobj[3] #Output: 6
如果你要设置值,你需要实现__setitem__
方法,否则会发生这种情况:
>>> myobj[5] = 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: MyClass instance has no attribute '__setitem__'
__setitem__
和__delitem__
方法。__getslice__,__setslice__和__delslice__
。