马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
B站68讲,学到了__index__()方法,不是很懂。无论是小甲鱼讲的,还是网上的讲解,看起来都有点蒙。认真研究了一下,决定做个笔记,希望对大家能有所帮助。有不对的地方,也请欢迎大家指出和补充。
其实简单来说,这个东西就是把一个“类”打包成了一个“索引”。举例如下:class Age:
def __init__(self, age):
self.age = age
def __index__(self):
return self.age
age = Age(30)
print([1, 2, 3, 4, 5][age])
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
print([1, 2, 3, 4, 5][age])
IndexError: list index out of range
age
<__main__.Age object at 0x0000029EFEEBC9E0>
age = Age(3)
print([1, 2, 3, 4, 5][age])
4
例子的代码是我在百度AI上抄的,所以当它报错的时候还是有点震惊的,仔细看了一下错误类型,发现是“IndexError”,大概意思是索引值不在列表范围内,于是就把“30”换成了“3”,果然,打印的结果是“4”,也就是列表第四位的值。大家也可以换一个列表和Age的值测试一下,得出结果应该就是“索引”值。
|