【1.45.1】yield 以及 send 的用法(函数式生成器)
def test(): n=yield 1 print (n) m=yield 2 print (m) yield 3 a=test() print(a.__next__()) #执行完停在 yield语句后面 1 后面 这里不能用send 没有人来接收send 的值 打印该语句结果为 1 print(a.send("n1")) #执行完停在 yield语句后面 2 后面 把n1 这个值 给第一个yield 然后再给 n 然后再打印 n 然后执行第二个 yield 打印该语句结果为 2 print(a.send("m1")) #执行完停在 yield语句后面 3 后面 把m1 这个值 给第二个yield 然后再给 m 然后再打印 m 然后执行第三个 yield 打印该语句结果为 3
执行结果为:
1
n1
2
m1
3
浙公网安备 33010602011771号