python生成器

Posted arrowxiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python生成器相关的知识,希望对你有一定的参考价值。

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有关生成器函数的问题

Python生成器

python函数-生成器

python生成器

Python生成器的问题

Python-生成器