在线客服 联系我们 返回顶部
企业动态 技术分享 行业动态

手写一个python迭代器

2019-09-06

for的每次循环中或者next时,都是自动调用迭代器的__next__方法,并有一个返回值。

class classmate:
 def __init__:
 self.names = []
 self.num = 0
 def add:
 self.names.append
 def __iter__:
 return self
 def __next__:
 if self.num len:
 ret = self.names[self.num]
 self.num += 1
 return ret
 else:
 raise stopiteration
c = classmate
c.add
c.add
c.add
for i in c:
 print
 
Copyright © 2018 申博网址申博网址-申博官方网站下载 All Rights Reserved