首页 > 代码库 > python学习笔记第九节(迭代器,生成器,三元表达式)

python学习笔记第九节(迭代器,生成器,三元表达式)

技术分享

for循环相当于自动调动__iter__

技术分享

for循环相当于上面这样每次__next__再打印一次

技术分享

while循环的迭代方式,采用try的方式

技术分享

判断是否为可迭代

技术分享

判断是否为迭代器对象

技术分享

加了蓝色段,可以调用原来的函数名

迭代对象 可以__iter__的
迭代器 将__iter__之后的结果的
迭代器对象 可以直接__next__的

生成器

技术分享

技术分享

迭代到yield后停止,相当于__next__
函数加上yield后就是迭代器。
可以每次__next__显示,每次显示到yield后停止,相当于return,但是下次__next__可以继续
可以迭代操作
for i in g:
然后yield相当于return
将print和yield返回的数字显示出来

技术分享

用生成器实现tail -f |grep ‘errror‘

技术分享

技术分享

技术分享

上面更改后起到了tail -f |grep ‘error‘|grep ‘404‘的效果
通过更改grep函数 将print改为yield 起到了|的效果,后面的grep不用重新写,直接再次赋值调用即可

 

三元表达式

技术分享

 

列表解析

技术分享

技术分享

技术分享

 

python学习笔记第九节(迭代器,生成器,三元表达式)