python的__getitem__
时间: 2023-10-25 19:07:01 浏览: 87
解析Python中的__getitem__专有方法
`__getitem__` 是 Python 中的一个特殊方法(也称为魔术方法),用于实现对象的索引操作。当我们使用索引运算符(`[]`)来访问对象的元素时,Python 会尝试调用该对象的 `__getitem__` 方法。
例如,我们可以在自定义类中重写 `__getitem__` 方法,以使该类的对象能够像列表或字典一样使用索引操作。下面是一个简单的示例:
```python
class MyList:
def __init__(self):
self.data = []
def __getitem__(self, index):
return self.data[index]
def __setitem__(self, index, value):
self.data[index] = value
my_list = MyList()
my_list.data = [1, 2, 3, 4, 5]
print(my_list[2]) # 输出:3
my_list[1] = 10
print(my_list.data) # 输出:[1, 10, 3, 4, 5]
```
在上面的示例中,我们定义了一个名为 `MyList` 的类,并重写了 `__getitem__` 方法。这样,我们可以通过索引来访问 `MyList` 对象的元素,就像操作列表一样。
需要注意的是,除了 `__getitem__` 方法外,还有其他一些类似的特殊方法,如 `__setitem__`(用于设置元素值)、`__delitem__`(用于删除元素)等,它们一起定义了 Python 中的容器对象行为。
阅读全文