python 的生成器,yield的使用

Posted 拓睿峰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 的生成器,yield的使用相关的知识,希望对你有一定的参考价值。

生成器 :含有yield 的关键字的函数就是一个生成器。

生成器的运行原理:调用函数时,当函数运行到yield时停止,返回值,下次调用时,就从这次的yield出继续执行,局部变量还是使用这次变量的值。相当于函数在yield被冻结,下次继续在yield处继续执行。

为什么要使用生成器 。

生成器相比一次列出所有的内容的优势:

1.更节省存储空间

2.响应更迅速

3.使用更灵活

举个例子:

生成器写法:

def gen(n)
    for i in range(n)
            yiled i**2


for i in gen(5)
    print(i," ",end=" ")


0 1 4 9 16

普通写法:

def square(n)
    ls = [i**2 for i in range(n)]
    return ls
for i in square(5):
    print(i," ",end =" ")

0 1 4 9 16

 






以上是关于python 的生成器,yield的使用的主要内容,如果未能解决你的问题,请参考以下文章

python生成器之yield

Python生成器的原理及使用

Python `yield from`,还是返回一个生成器?

python 的生成器,yield的使用

写了那么久的Python,你应该学会使用yield关键字了

Python 生成器的使用(yield)