deffib(number):#斐波那契数列函数
n =0
a =0
b =0
c =1while n < number:yield(c)#yield,变成生成器
a = b
b = c
c = a+b
n+=1return'wrong'#异常时打印
p = fib(10)print(p.__next__())#打印一步print(p.__next__())print(p.__next__())print(p.__next__())print("===================")for i in p:#接着断点继续打印print(i)
通过yield实现单线程情况下并发运行的效果(生产者消费者)
import time
defconsumer(name):#消费者whileTrue:
product =yieldprint("产品%s已被%s使用"%(product,name))defproducer():#生产者
c = consumer('Lihua')
c.__next__()for i inrange(10):
time.sleep(2)print("产品%s已生产"%(i))
c.send(i)
producer()