Python/gloss python iterator stop

来自菜鸟教程
跳转至:导航、​搜索

<languages />

Python停止迭代

StopIteration

为了防止迭代永远进行,我们可以使用 StopIteration 声明。

在里面 __next__() 方法,如果迭代执行了指定的次数,我们可以添加终止条件以引发错误:

在20次迭代后停止:

  class MyNumbers:
  def __iter__(self):
    self.a = 
  1
    return self

  def __next__(self):
    
  if self.a <= 20:
      x = self.a
      
  self.a += 1
      return x
    
  else:
      raise StopIteration

myclass = 
  MyNumbers()
myiter = iter(myclass)

for x in myiter:
  
  print(x)