首页 > 编程语言 > 详细

python生成器

时间:2018-04-30 00:54:18      阅读:244      评论:0      收藏:0      [点我收藏+]
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生成器

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!