覆盖[]Python中的类的运算符(下标表示法)的方法名称是什么?
3 回答

汪汪一只猫
TA贡献1898条经验 获得超8个赞
您需要使用__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__'
添加回答
举报
0/150
提交
取消