一.今日主要内容总览(重点)
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
原文地址:https://www.cnblogs.com/studybrother/p/10105570.html
时间: 2024-11-09 22:56:25