Python/gloss python iterator stop

来自菜鸟教程
机器人讨论 | 贡献2020年10月29日 (四) 08:48的版本 (机器人:添加分类Python基础教程
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至:导航、​搜索

<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)