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