Python 生成器表达式与生成器函数的深度解析
1. 生成器方法概述
在 Python 中,生成器有几个重要的方法。 next(G) 函数与 G.__next__() 等效,用于获取生成器的下一个值。例如:
>>> next(G) # next() oraz X.__next__() przekazują None
None
send 方法可用于对生成器进行编程,比如发送特殊代码来停止生成器,或传递新的位置信息来重新编程生成器。从 Python 2.5 及更高版本开始,生成器还新增了 throw(typ) 方法,它会在最后一次调用 yield 的位置引发指定类型的异常;以及 close 方法,用于引发 GeneratorExit 异常以结束生成器的运行。
Python 3.x 提供了内置函数 next(G) ,它是 G.__next__() 的等价形式。而其他生成器方法,如 send ,则必须作为生成器对象的方法来调用,例如 G.send(X) 。这种表面上的不一致性可以通过以下原因来解释: __next__() 是可迭代对象通用接口的一部分,而其他方法仅在生成器对象中起作用。 </
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



