猿问

如何在Python中覆盖[]运算符?

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



翻翻过去那场雪
浏览 398回答 3
3回答

汪汪一只猫

您需要使用__getitem__方法。class MyClass:&nbsp; &nbsp; def __getitem__(self, key):&nbsp; &nbsp; &nbsp; &nbsp; return key * 2myobj = MyClass()myobj[3] #Output: 6如果要设置值,则也需要实现该__setitem__方法,否则会发生这种情况:>>> myobj[5] = 1Traceback (most recent call last):&nbsp; File "<stdin>", line 1, in <module>AttributeError: MyClass instance has no attribute '__setitem__'
随时随地看视频慕课网APP

相关分类

Python
我要回答