自定义迭代
class TestIter:
def __init__(self,max):
self.max = max;
self.foot = 0;
def __iter__(self):
return self;
def __next__(self):
if self.foot > self.max:
return -1;
else:
val = self.max - self.foot;
self.foot += 1;
return val;
def main():
# 执行顺序,先进入构造方法,然后进入iter方法
msg = TestIter(10);
# 对象的自我迭代,进入__next__方法执行对应的脚本;
for item in msg:
if item == -1:
break;
print(item);
if __name__ == '__main__':
main();
对象反转
class TestReversal:
def __init__(self):
self.list = [1,2,3,4,5];
def getList(self):
return self.list;
# 反转关键字reversed
def __reversed__(self):
self.list = reversed(self.list);
def main():
msg = TestReversal();
reversed(msg);
for item in msg.getList():
print(item);
if __name__ == '__main__':
main();
字典操作
def __setitem__(self, key, value): #增加或修改函数
self.cache[key]=value
def __getitem__(self, item):#获取函数
return self.cache[item]
def __delitem__(self, key):#删除函数
del self.cache[key]