今日学习总结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,会立马结束

六、生成器表达式

   生成器表达式就类似于一个工厂,只有当你索要数据的时候,工厂才会给你加工数据

    好处是节省内存空间

 

 

   

posted @ 2022-01-13 14:54  晨昏xcf  阅读(29)  评论(0)    收藏  举报