今日学习总结1.13
一、迭代取值和索引取值的对比
迭代取值提供了一种不依赖于索引取值的方式
迭代取值:1.不依赖于索引取值
2.不能重复取值,只能从左往右一个一个取值
索引取值:1.必须得是一个人容器类型
2.可以重复取值
二、生成器(自定义的迭代器)
生成器就是自定义的迭代器

函数里面有yield关键字之后,函数调用之前还是函数,一单调用函数就会变成生成器
一单变成生成器就可以__next__取值了
函数中yield关键字的玩法:
1.__next__一下,走一个yield,光标就停在了yield
2.如果再__next__,会从上一次滞留的yield位置继续往下走
三、生成器实现range功能

四、yield传值(了解)

五、yield和return的对比
yield:
1.函数内遇到yield关键字把函数变成了生成器
2.yield也可以返回值,并且支持返回多个,以元组的形式
3.遇到yield,函数不会结束,而是停止
4.yield也支持传值
return:
1.后面可以跟返回值,也支持返回多个,以元组的形式
2.函数遇到return,会立马结束
六、生成器表达式

生成器表达式就类似于一个工厂,只有当你索要数据的时候,工厂才会给你加工数据
好处是节省内存空间

浙公网安备 33010602011771号