标签:for 结果 全栈 内存 span 帮助 ext turn bsp
一.今日主要内容总览(重点)
1.生成器(目的:帮助我们创建对象)
(1)生成器的本质就是迭代器
(2)一个一个的创建对象
(3)创建生成器的方式:
1.生成器函数
2.通过生成器表达式来获取生成器
3.类型转换(看不到)
2.生成器函数(重点)
(1)生成器函数中包含 yield关键字,返回数据和return差不多
return会立即结束和这个函数的执行
yield 可以分段的执行一个函数
(2)大坑(五星重点):
生成器函数在执行的时候返回生成器,而不是直接执行次函数
(3)能向下执行的两个条件:
__next__(),执行到下一个yield
send(),执行到下一个yield,给上一个yield位置传值
(4)所有的生成器都是迭代器,都可以直接使用for循环
都可以使用list()函数来获取到生成器内所有的数据
(5)生成器中记录的是代码而不是函数的运行
def func():
print(‘我的天哪‘)
yield ‘宝宝‘
gen=func() #创建生成器,此时运行会把生成器函数中的代码记录在内存
当执行到__next__(),运行此空间中的代码,运行到yield结束
(6)生成器
优点:节省内存,生成器本身就是代码,几乎不占用内存
特点:惰性机制,只能向前,不能反复
3.各种推导式(诡异)
列表推导式 [结果 for 循环 if]
字典推导式 {结果(k,v) for 循环 if}
集合推导式 {结果(k) for 循环 if}
4.生成器表达式(重点)
(结果 for循环 if)
二.今日内容大纲
1.生成器函数
2.各种推导式
3.yield from
三.内容详解
1.生成器函数
2.各种推导式
3.yield from
巨蟒python全栈开发-第12天 生成器函数 各种推导式 yield from
标签:for 结果 全栈 内存 span 帮助 ext turn bsp
原文地址:https://www.cnblogs.com/studybrother/p/10105570.html