迭代器iter()和next()方法list=[1,2,3,4]it=iter(list)#为其中的x创建一个迭代器对象:#print(next(it))输出迭代器的下一个一个元素print(x,end="")或者whileTrue:try:print(next(it))exceptStopIteration:sys.exit()▲注意:StopIteration异常用于标记迭代完成,防止死循环,在__next__()方法中,我们可以设置在指定的循环次数完成后触发StopIteration异常,结束迭代。在20次迭代结束迭代后触发StopIteration异常classMyNumbers:def__iter__(self):self.a=1returnselfdef__next__(self):ifself.a<=20:x=self.aself.a+=1returnxelse:raiseStopIterationmyclass=MyNumbers()myiter=iter(myclass)forxinmyiter:print(x)Python使用def关键字定义一个函数,一般格式如下:def函数名(参数列表):函数bodyusesFunctionwithyieldimplementsFibonaccisequenceimportsysdeffab(max):n,a,b=0,0,1whileTrue:if(n>max):returnyieldb#使用yielda,b=b,a+bn=n+1f=fab(10)whileTrue:try:print(next(f),end="")除了StopIteration:sys.exit()关于yield:https://www.runoob.com/w3cnot...参考:Python3IteratorsandGenerators|菜鸟教程Python3函数|菜鸟教程
