首先,把yield理解成return,可以用作返回数据,如下: def f(): yield 9 next(f()) #结果为 9 如果你用一个变量接受该值,首次执行时并不会执行函数,而是先得到一个生成器,如下: def f(): print(提示字符!) yield 9 g=f() print(g) #结果为: 可以看出,调用了f()函数,但并没有输出“提示字符!”汉字,说明未执行函数体,g的打印结果为一个生成器。 那什么时候才会执行函数体呢?当需要用到返回的数值时执行,如下: def f(): print(提示字符!) yield 9 g=f() print(g