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