__getitem__
- 让对象拥有索引的特性
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__方法
浙公网安备 33010602011771号