python中yield和return的区别是什么

avatar
作者
猴君
阅读量:0

yield和return都是用来返回值的关键字,但在功能上有一些区别:

  1. return:return用于从函数中返回一个值,并结束函数的执行。一旦函数中执行到return语句,函数将会立即停止执行,并返回return后面的值。如果函数中有多个return语句,则只有第一个被执行到的return语句会生效。

  2. yield:yield用于生成器函数中,它可以将函数变成一个生成器。当函数执行到yield语句时,函数会暂停并保存当前的状态,返回yield后面的值。当生成器再次被调用时,函数会从上次暂停的地方继续执行,直到再次遇到yield语句。这样可以实现生成器的惰性计算,减少内存消耗。

总结来说,return用于从函数中返回一个值并结束函数的执行,而yield用于生成器函数中,用于生成序列值,实现惰性计算。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!