python __getitem__
时间: 2023-07-31 09:09:45 浏览: 116
详解Python中的__getitem__方法与slice对象的切片操作
`__getitem__` 是 Python 中的一个特殊方法(也称为魔术方法),用于实现索引操作。当我们使用索引操作符 `[]` 来访问对象的元素时,Python 会调用该对象的 `__getitem__` 方法来执行对应的操作。
例如,如果我们有一个自定义的类,想要支持索引操作,可以在类中实现 `__getitem__` 方法。这个方法接受一个参数 `key`,表示要访问的元素的索引或键。然后,我们可以根据 `key` 的值来返回相应的元素。
下面是一个示例:
```python
class MyList:
def __init__(self, data):
self.data = data
def __getitem__(self, key):
return self.data[key]
my_list = MyList([1, 2, 3, 4, 5])
print(my_list[2]) # 输出: 3
```
在上面的示例中,我们创建了一个自定义的列表类 `MyList`,并在该类中实现了 `__getitem__` 方法。当我们使用索引操作符 `[]` 访问 `my_list` 对象的元素时,Python 实际上会调用 `my_list.__getitem__(2)` 来获取索引为 2 的元素,最后输出结果为 3。
除了索引操作,`__getitem__` 方法还可以用于实现切片操作和其他形式的元素访问。
阅读全文