- 让对象拥有索引的特性
class C: def __getitem__(self, item): if type(item) == slice: return item.start, item.stop, item.step return item def __setitem__(self, key, value): if type(key) == slice: pass print(key, value) def __delitem__(self, key): if type(key) == slice: pass print(key) obj = C() r = obj[1] #调用__getitem__方法 obj[2] = 'v' #调用__setitem__方法 del obj[3] #调用__delitem__方法 r = obj[1:10:2] #调用__getitem__方法 obj[1:3] = ['v1', 'v2', 'v3'] #调用__setitem__方法 del obj[1:3] #调用__delitem__方法