覆蓋[]Python中的類的運算符(下標表示法)的方法名稱是什么?
3 回答

汪汪一只貓
TA貢獻1898條經(jīng)驗 獲得超8個贊
您需要使用__getitem__方法。
class MyClass:
def __getitem__(self, key):
return key * 2
myobj = MyClass()
myobj[3] #Output: 6
如果要設(shè)置值,則也需要實現(xiàn)該__setitem__方法,否則會發(fā)生這種情況:
>>> myobj[5] = 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: MyClass instance has no attribute '__setitem__'
添加回答
舉報
0/150
提交
取消