python 魔法方法`__getitem__` 和 `__setitem__`

用途

不需要调用实例方法,像操作 python 原生对象一样去 getset

示例

 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