【发布时间】:2019-11-07 21:29:50
【问题描述】:
我试图在定义生成器时了解控制流程。
def countdown(num)
print('Starting')
while num > 0:
yield num
num -= 1
val = countdown(5)
当我打电话给next(val) 时,Starting 被打印出来,后面跟着数字 5
但在随后的通话中,只有号码被打印出来。为什么我没有看到Starting?为什么当我调用next(val) 5 次以上时它会显示错误?任何有助于理解控制流的帮助将不胜感激
【问题讨论】:
-
欢迎来到 SO。这不是帮助论坛或讨论论坛。请花时间阅读How to Ask 和该页面上的其他链接。当生成器 完成 时,它会引发
StopIteration异常 - 很确定这在文档中。
标签: python python-2.7