带yield的函数是一个生成器(generator),而不是一个函数了,这个生成器有一个函数就是next函数,next就相当于“下一步”生成哪个数,这一次的next开始的地方是接着上一次的next停止的地方执行的。[1]
先把yield看做“return”,在程序中返回某个值,返回之后程序就不再往下运行了。
程序执行遇到yield关键字,yield返回后面的值之后,程序暂停,直到再次调用next方法或send方法。
1 | def foo(): |
1 | def foo(): |
带yield的函数是一个生成器(generator),而不是一个函数了,这个生成器有一个函数就是next函数,next就相当于“下一步”生成哪个数,这一次的next开始的地方是接着上一次的next停止的地方执行的。[1]
先把yield看做“return”,在程序中返回某个值,返回之后程序就不再往下运行了。
程序执行遇到yield关键字,yield返回后面的值之后,程序暂停,直到再次调用next方法或send方法。
1 | def foo(): |
1 | def foo(): |