Python Yield关键字创建生成器

Python提供了不同的特性,其中一些特性在其他编程语言中是不存在的。在本教程中,我们将查看其中一个。 yield 关键字用于生成器。生成器是一些迭代机制,它迭代并生成一些值。 yield 只保存作用域的当前值和变量,通常是一个函数。这让我们可以继续我们离开的地方。

null

yield 行为类似于函数的返回,但不同的是,所有局部变量和情况保持不变,在调用的函数返回到 yield 阻止。

定义 带产量的迭代器

学习收益的最好方法是写一些代码。调用函数的问题是,如果有很多函数,那么会有很多内存消耗。但是我们将使用yield和which来优化内存使用。

我们将写一个生成器,它是一个函数,但是这个函数将被转换成一个生成器。

def gen():    mylist=range(5)    for i in mylist:       yield i*i

创建生成器实例

我们定义了生成器,但创建了一个。我们只需像初始化类一样创建生成器,像列表一样使用。但在引擎盖下,它是一个生成器,在while、for或类似结构中使用时生成值列表。

mygen = gen() for i in mygen:    print(i)   #0 #1 #4 #9 #16

相关文章: 在Python操作符使用教程中提供示例

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享