py3.3之后出现了 yield from关键字

    可以使得函数在next一个函数的途中 “跳跃”到另一个函数

    1. def foo():
    2. yield 2
    3. yield 2
    4. yield 2
    5. def func():
    6. yield 1
    7. yield 1
    8. yield 1
    9. yield from foo()
    10. yield 1
    11. yield 1
    12. for item in func():
    13. print(item)
    14. # 输出
    15. """
    16. 1
    17. 1
    18. 1
    19. 2
    20. 2
    21. 2
    22. 1
    23. 1
    24. """

    如果不是yield form 而是yield 那么返回的是生成器对象而不是进入另一个函数

    1. def foo():
    2. yield 2
    3. yield 2
    4. yield 2
    5. def func():
    6. yield 1
    7. yield 1
    8. yield 1
    9. yield foo()
    10. yield 1
    11. yield 1
    12. for item in func():
    13. print(item)
    14. # 输出
    15. """
    16. 1
    17. 1
    18. 1
    19. 生成器对象
    20. 1
    21. 1
    22. """