生成器:使用了 yield 的函数被称为生成器(generator)。它记住上一次返回时在函数体中的位置。
yeild运行过程:当你向生成器要一个数时,生成器会执行,直至出现 yield 语句,生成器把 yield 的参数给你,之后生成器就不会往下继续运行。 当你问他要下一个数时,他会从上次的状态。开始运行,直至出现yield语句,把参数给你,之后停下。如此反复 直至退出函数。
例:
def fun(x): count = x while True: val = yield count if val != None: count = val else: count += 1 f = fun(5) print(next(f)) print(next(f)) print(next(f)) print('我是分割线'.center(30,'*')) print(f.send(10)) print(next(f)) print(next(f))
执行结果:
5 6 7 ************我是分割线************* 10 11 12
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步