生成器生成可迭代对象.

  1. for i in range(10, 20, 2):
  2. print(i)
  3. # 输出
  4. 10
  5. 12
  6. 14
  7. 16
  8. 18

自定义生成器

  1. def f_range(start, stop, step):
  2. x = start
  3. while x < stop:
  4. # 控制只输出一次
  5. yield x # 类似 return, 生成可迭代对象
  6. x += step
  7. for i in f_range(10, 20, 0.5):
  8. print(i)
  9. # 输出
  10. 10
  11. 10.5
  12. 11.0
  13. 11.5
  14. 12.0
  15. 12.5
  16. 13.0
  17. 13.5
  18. 14.0
  19. 14.5
  20. 15.0
  21. 15.5
  22. 16.0
  23. 16.5
  24. 17.0
  25. 17.5
  26. 18.0
  27. 18.5
  28. 19.0
  29. 19.5