生成器

1. 生成器
生成器的本质就是迭代器
生成器由生成器函数来创建或者通过生成器表达式来创建

2. 生成器函数
生成器函数: 在函数中return换yield, 这个函数就是生成器函数
def func():
    yield
gen = func()    # 函数并不会被执行, 而是创建一个生成器对象
    取值:
gen.__next__()   # 下一个
gen.send()     # 可以给上一个yield传值, 第一次执行不能用send()
    特性:
        1. 节省内存
2. 惰性机制
3. 只能向前

3. 各种推导式
[结果 for循环 if条件]   #列表推导式
key: value for循环 if条件} #字典推导式
{key for循环 if条件} #集合推导式:
4. 生成器表达式(笔试题)
(结果 for循环 if条件)
    惰性机制
    记录在内存中一段代码.

生成器: 要的时候才能拿到值!!!
  
惰性机制, 不到最后不会拿值!!!
 
posted @ 2018-09-18 17:50  凯旋.Lau  阅读(120)  评论(0编辑  收藏  举报