python 生成器和协程

前端之家收集整理的这篇文章主要介绍了python 生成器和协程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. #coding: utf-8
  2. import time

  3. def consumer():

  4. """消费者"""

  5. print 111

  6. r = ''

  7. while True:

  8. n = yield r

  9. print 333

  10. if not n:

  11. return

  12. print('[CONSUMER] Consuming %s...' % n)

  13. time.sleep(1)

  14. r = '200 OK'

  15. def produce(c):

  16. """生产者"""

  17. print 000

  18. c.next()

  19. print 222

  20. n = 0

  21. while n < 5:

  22. n = n + 1

  23. print('[PRODUCER] Producing %s...' % n)

  24. r = c.send(n)

  25. print('[PRODUCER] Consumer return: %s' % r)

  26. c.close()

  27. def test_yield():

  28. """生成器"""

  29. print '---start'

  30. for i in [1,2,3]:

  31. print 'i: %s' % i

  32. x = yield i

  33. print 'x: %s' % x

  34. print '======='

  35. if name=='main':

  36. 协程的执行过程

  37. #c = consumer()
  38. #produce(c)
  39. # <a href="/tag/shengcheng/" target="_blank" class="keywords">生成</a>器的执行过程
  40. gen = test_yield()
  41. for k in gen:
  42.     print 'k: %s' % k
  43. print '--- end'</code></pre>

猜你在找的程序笔记相关文章