-
yield 语句只能在生成器函数(包含yield语句的函数)中使用。生成器函数是一种特殊的函数,当被调用时,返回一个生成器对象。
-
yield 语句可以在生成器函数中使用多次。每次执行yield语句时,生成器函数会产生一个值,并将函数的状态保存下来。下次调用生成器函数时,会
从上次yield语句暂停的地方继续执行。
-
生成器函数可以包含普通的代码逻辑,不仅仅是yield语句。当生成器函数执行到return语句时,会抛出一个 StopIteration 异常,表示生成器已经到达末尾。
-
生成器对象可以使用
next()
函数来获取下一个值。每次调用 next() 函数时,生成器函数会从上次暂停的 yield 语句继续执行,并返回 yield 语句产生的值。如果生成器函数已经到达末尾,调用 next() 函数会抛出 StopIteration 异常。 -
可以使用 for 循环来遍历生成器对象。for 循环会
自动调用 next() 函数
,并处理 StopIteration 异常。当生成器函数执行完毕后,循环自动退出。 -
调用生成器函数并不会立即执行函数内部的代码,而是返回一个生成器对象。
只有在使用 next() 函数、for 循环等方式迭代生成器对象时
,才会逐步执行生成器函数内部的代码。 -
可以通过发送消息给生成器对象来控制生成器函数的执行。通过调用生成器对象的
send() 方法,并传入一个参数
,可以在生成器函数内部使用 yield 表达式接收该参数,并作出相应的处理。
使用python yield 函数的注意点
最新推荐文章于 2024-11-10 15:01:17 发布