创新路
我们一直在努力

【学习】Python迭代器和生成器的初步认识

迭代器

1.双下方法:含有双下划线的方法就叫做双下方法,如__next__

2.可迭代的(iterable:能被for循环的就是可迭代的,其中必须含有__iter__这方法

例如:print(__iter__  in dir([])) 输出为TRUE

3.迭代器:必须含有__iter____next__方法的变量,就叫做迭代器,可被for循环,好处就是可以不用一次把数据全部生成在内存当中,需要一个就可以调用一个,节省内存,提高效率

1555564729181245.png 

“[]”是可迭代对象,同时也是迭代器


实际上,迭代器能被for循环,是调用的迭代器的__next__方法,如下图所示

 1555564753628786.png 

生成器

1. 生成器函数:在常规函数中, 返回关键词使用yield,而不是使用returnyield语句一次返回一个结果,挂起函数,以便下次重离开的地方继续执行,一个包含yield关键词的函数就是生成器函数

2. yieldreturn的区别:return是返回结果后函数就执行完毕退出了,而调用包含yield的函数是返回了一个可迭代对象,每次获取这个可迭代对象的值,就能获取新的返回值,直到函数全部执行完毕

                                    1555564774886724.png1555564780412958.png


例子:实时监听文件写入(在读一行内容的时候可添加.strip()去除空行)

 

1555564790332297.png

未经允许不得转载:天府数据港官方信息博客 » 【学习】Python迭代器和生成器的初步认识

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机