Python进阶教程,生成器、迭代器一文掌握( 三 )
g=(i for i in range(1,11))print(g)
使用 yield构建斐波那契数列
def fei(n):num1,num2=0,1weizhi=0while weizhi < n :num=num1num1,num2=num2,num1+num2weizhi += 1yield numprint(list(fei(10)))
唤醒生成器:send( )、next( )、 __next__( )
send( )ret=fei(10)a=ret.send(None)print(a)next( )ret=fei(10)while True:try:print(next(ret))except StopIteration:break
生成器和迭代器之间的区别【Python进阶教程,生成器、迭代器一文掌握】在使用生成器时 , 我们创建一个函数;在使用迭代器时 , 我们使用内置函数iter()和next() 。在生成器中 , 我们使用关键字‘yield’来每次生成/返回一个对象 。生成器中有多少‘yield’语句 , 你可以自定义 。每次‘yield’暂停循环时 , 生成器会保存本地变量的状态 。 而迭代器并不会使用局部变量 , 它只需要一个可迭代对象进行迭代 。使用类可以实现你自己的迭代器 , 但无法实现生成器 。生成器运行速度快 , 语法简洁 , 更简单 。迭代器更能节约内存 。
- 想自学Python来开发爬虫,需要按照哪几个阶段制定学习计划
- 未来想进入AI领域,该学习Python还是Java大数据开发
- 音乐玩家的进阶之选 惠威D1500有源HiFi音箱评测
- 2021年Java和Python的应用趋势会有什么变化?
- 非计算机专业的本科生,想利用寒假学习Python,该怎么入手
- 用Python制作图片验证码,这三行代码完事儿
- 历时 1 个月,做了 10 个 Python 可视化动图,用心且精美...
- 同质化时代玩法进阶 2020年手机行业技术回顾
- 为何在人工智能研发领域Python应用比较多
- iOS 14系统可以支持自主更换图标了,教程赶紧收藏了