博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python生成器
阅读量:4614 次
发布时间:2019-06-09

本文共 804 字,大约阅读时间需要 2 分钟。

#(如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator) g = (x * x for x in range(2,10))#创建生成器(()表示生成器、[]列表解析)print(next(g))#只打印第一个元素for i in g:#通过循环遍历元素    print(i)def fib(max):    n, a, b = 0, 0, 1    while n < max:        yield b        a, b = b, a + b        n = n + 1    return 'done' f = fib(10)print('fib(10):', f)for x in f:    print(x) # call generator manually:g = fib(5)while 1:    try:        x = next(g)        print('g:', x)    except StopIteration as e:        print('Generator return value:', e.value)        break
def odd(): #如果函数中有yield,那么该函数不在是普通函数,而是生成器:generator。    print('step 1')    yield 1    print('step 2')    yield(3)    print('step 3')    yield(5)o = odd()#print(o)print(next(o))for i in o:#遍历结果,不然只显示第一条    print(i)
 

 

 

 

转载于:https://www.cnblogs.com/chen-xia/articles/8126005.html

你可能感兴趣的文章
BZOJ 2154: Crash的数字表格 [莫比乌斯反演]
查看>>
nrf51 SDK自带例程的解读
查看>>
SESSION技术
查看>>
数据结构(五)之直接插入排序
查看>>
SQL函数——LENGTH()和LENGTHB()
查看>>
vim - manual -个人笔记
查看>>
详解Javascript中prototype属性(推荐)
查看>>
angularjs实现首页轮播图
查看>>
Git 对象 和checkout 和stash的笔记
查看>>
团队项目总结2-服务器通信模型和顺序图
查看>>
hdu 1085 Holding Bin-Laden Captive!
查看>>
[周记]8.7~8.16
查看>>
递归定义
查看>>
kindeditor 代码高亮设置
查看>>
图的邻接表存储
查看>>
2018 leetcode
查看>>
各浏览器对 onbeforeunload 事件的支持与触发条件实现有差异
查看>>
PHP中获取当前页面的完整URL
查看>>
所谓输入掩码技术,即只有数字键起作用
查看>>
Display对象,Displayable对象
查看>>