一旦函数体内有了yield这个参数,再去调用函数,得到的函数返回值就和函数代码没关系了。调用函数得到的返回值固定了,就是一个生成器。
def func()
def func(): print(1) yield print(2) yield g=func() print(g)得到的是一个生成器对象,需要使用g.__next()__才能得到print的结果
另外yield和return的功能类似,不过yield运行后不会结束函数,会暂停然后继续向下运行。而return会直接结束