码迷,mamicode.com
首页 > 编程语言 > 详细

python 生成器

时间:2018-02-04 13:53:24      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:style   两种   max   pos   运行   ret   oca   log   yield   

python 生成器一共两种创建方法:

1,(x for x in range(5))

2,yield

# vim 3.py

def fib(max):
n,before,after = 0,0,1
while n < max:
yield before
before,after = after,before+after
n += 1

g = fib(8)
print (next(g))
print (next(g))
print (next(g))
print (next(g))
print (next(g))
print (next(g))
print (next(g))
print (next(g))

 

[root@localhost python]# python 3.py
0
1
1
2
3
5
8
13

 

# vim 4.py
def bar():
  print ("ok1")     #1

  count = yield 1
  print (count)

  yield 2


b = bar()
next(b)

ret = b.send("eeeeeeeeeeeeeeeee")
print (ret)

运行结果:

[root@localhost python]# python 4.py
ok1
eeeeeeeeeeeeeeeee
2
看现象。。。。。

 

python 生成器

标签:style   两种   max   pos   运行   ret   oca   log   yield   

原文地址:https://www.cnblogs.com/lixinliang/p/8412940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!