一. 注意事项:
- python 3中取消了 xrange() ,只保留了range函数,python 2中才有xrange函数。利用xrange制作生成器的需求,现在可以用range加小括号() 来做。例如:
>>> a = (i for i in range(3)) # 外围加了一个小括号,加中括号就是list了
>>> print(a)
<generator object <genexpr> at 0x000002xxxxxxx>
- python 3中还修改了next()函数,修改为 __next__() ,即前后多了双下划线。
>>> a.__next__() # 还是上面那个a
0
>>> a.__next__()
1
>>> a.__next__()
2
>>> a.__next__()
StopIteration
二. 用法详解
下面两篇文章写得很好,分别从两个角度入手解释了生成器,一起看应该就能看懂生成器是什么和基本用法了。
文章1. https://blog.csdn.net/mieleizhi0522/article/details/82142856
文章2. https://www.liaoxuefeng.com/wiki/897692888725344/923029685138624
以上
喜欢记得点赞、关注、分享哈!
网友评论