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

python生成器

时间:2018-04-30 01:04:36      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:python   pre   yield   one   输出   生成   多次   none   二次   

def a():
for i in range(10):
yield i


# # print(a().__next__())
# for i in a():
# print(i)


def b():
for i in range(10):
# print(i)
c = yield i
print(i)
# print(c)

ff = b()


def c():
a = yield
print(a)
yield

# for i in ff:
# # print(i+2)
# ff.send(i)
# print(i)


cc = c()
for i in cc:
recv = cc.send(5)
# print(recv)

yield一次输入多次输出
yield+send可以做输入也可以做输出
当执行c = yield时 需要next()或者send(none),当第二次执行时才会进行c=yield的赋值操作,当执行完第二次yield后会继续寻找下一个yield 所以需要用yield结束 让他等待

python生成器

标签:python   pre   yield   one   输出   生成   多次   none   二次   

原文地址:https://www.cnblogs.com/arrow-kejin/p/8972450.html

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