码迷,mamicode.com
首页 > 编程语言 > 详细

python 的生成器,yield的使用

时间:2018-02-10 13:03:41      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:blog   生成   调用   生成器   写法   局部变量   div   冻结   def   

生成器 :含有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的使用

标签:blog   生成   调用   生成器   写法   局部变量   div   冻结   def   

原文地址:https://www.cnblogs.com/tuosir/p/8438399.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!