python-类对象以列表切片模式操作

 

#类对象以列表切片模式操作
class Person:
    def __init__(self):
        self.cache=[]
    def __setitem__(self, key, value):  #修改函数
        #self.cache[key]=value
        print(key,value)
        print(key.start)
        print(key.stop)
        print(key.step)

    def __getitem__(self, item):#获取函数
        print(item)

    def __delitem__(self, key):#删除函数
        print(key)

d=Person()
d[0:4:2]=[5,10]  #执行 __setitem__函数-增加或修改
#此时函数中的key=slice(0, 4, 2)   value=[5, 10]
#用 key.start  返回开始值;key.stop返回结束值;key.step返回步长值

s=d[0:4:2]  #执行__getitem__函数-获取
#把[0:4:2]传给item--slice(0, 4, 2)

del d[0:4:2]  #执行__delitem__函数
#把[0:4:2]传给key---slice(0, 4, 2)

 

posted @ 2019-04-30 15:48  天子骄龙  阅读(453)  评论(0编辑  收藏  举报