一个带yield的函数是迭代器

def foo():
    print("starting...")
    while True:
        res = yield 4
        print("res:",res)

g = foo() 不会执行foo,因为不是一个普通函数

每次迭代只需要next(g)