python 迭代器和生成器 (已完结)
上海_彭彭
这个作者很懒,什么都没留下…
展开
-
python3:生成器yield深度解析
生成器这个章节尤其的重要,我们以后的协程的部分要用到这个知识点.什么是生成器函数呢?定义为:只要方法里有 yield 这个关键字 代表不是普通的函数,就可以认为是生成器函数 .怎么就不普通了,咱们和普通的比较下 ,代码如下:def gen_func(): yield 1def func(): return 1print(gen_func(),func()) ...原创 2018-11-09 12:42:06 · 368 阅读 · 0 评论 -
Python3:生成器在UserList应用原理
大家一定记得 list 是可以用for循环,具体怎么实现的呢,这是本节的重点.例如:a=[1,2,3]for i in a: print(i)我在之前的章节也讲到 , 类变成可迭代的对象 需要完成两个方法的任意一个,iter , 2.getitem就可以进行for循环进行遍历.这到底原理是什么呢 ?我们先看下边的代码:class A: def __...原创 2018-11-09 17:22:10 · 996 阅读 · 1 评论 -
python:生成器经典应用(读取只有一行500G文件)
首先讲解下场景 。有一个文件 大概有500G,并且只有一行,行之间有分隔符,我们需要把文件内的数据一行一行的读取出来,然后写入数据库里面。有的小伙伴就报名说了,我们取行可以用open,然后用for循环。看我的with open(“file”)as f: for i in f.readlines(): print i 由于它只有一行,你这样读取会把...原创 2018-11-10 22:52:51 · 2353 阅读 · 3 评论 -
python3:迭代对象和迭代器的区别 (翻看源码进行解释)
迭代器和生成器都是很重要的知识,因为在后边的同步异步都要用到.python的迭代协议构成了迭代器.迭代器是访问集合内元素的一种方式,一般用来遍历数据.要记住 迭代器和 下标的访问方式不一样,迭代器没有返回值.迭代器提供了一种惰性访问数据方式,访问数据时候才能计算和返回数据.list 的访问方式是用 getitem 协议,list 和迭代器 可以用for 循环都是实现迭代协议(iter)...原创 2018-11-08 12:36:19 · 482 阅读 · 1 评论 -
python3:深刻理解__iter__和__next__ 迭代器的原理(用自定义迭代器方法进行讲解)
cfvbcvb原创 2018-11-08 19:29:26 · 7008 阅读 · 2 评论