• 让对象拥有索引的特性
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__方法

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-12
  • 2021-08-15
  • 2021-05-14
  • 2022-02-28
  • 2021-10-12
  • 2022-12-23
猜你喜欢
  • 2021-08-06
  • 2021-12-24
  • 2021-05-20
  • 2021-12-29
  • 2022-01-12
  • 2021-10-09
  • 2021-11-19
相关资源
相似解决方案