python 魔法方法`__getitem__` 和 `__setitem__`
用途
不需要调用实例方法,像操作 python 原生对象一样去 get
和 set
。
示例
1class MyList:
2 def __init__(self, data):
3 self.data = data
4
5 def __getitem__(self, index):
6 return self.data[index]
7
8 def __setitem__(self, index, value):
9 self.data[index] = value
10
11my_list = MyList([1, 2, 3, 4, 5])
12print(my_list[1]) # 输出: 2
13
14my_list[1] = 42
15print(my_list[1]) # 输出: 42