覆盖[]Python中的类的运算符(下标表示法)的方法名称是什么?
[]
您需要使用__getitem__方法。
__getitem__
class MyClass: def __getitem__(self, key): return key * 2 myobj = MyClass() myobj[3] #Output: 6
如果要设置值,则也需要实现该__setitem__方法,否则会发生这种情况:
__setitem__
>>> myobj[5] = 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: MyClass instance has no attribute '__setitem__'