阅读量:0
yield和return都是用来返回值的关键字,但在功能上有一些区别:
return:return用于从函数中返回一个值,并结束函数的执行。一旦函数中执行到return语句,函数将会立即停止执行,并返回return后面的值。如果函数中有多个return语句,则只有第一个被执行到的return语句会生效。
yield:yield用于生成器函数中,它可以将函数变成一个生成器。当函数执行到yield语句时,函数会暂停并保存当前的状态,返回yield后面的值。当生成器再次被调用时,函数会从上次暂停的地方继续执行,直到再次遇到yield语句。这样可以实现生成器的惰性计算,减少内存消耗。
总结来说,return用于从函数中返回一个值并结束函数的执行,而yield用于生成器函数中,用于生成序列值,实现惰性计算。