带有yield的函数在Python中如何使用

2025-12-02 0 90,740

yield在函数中的功能类似于return,不同的是yield每次返回结果之后函数并没有退出,而是每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态,等待下一次的调用。如果一个函数需要多次循环执行一个动作,并且每次执行的结果都是需要的,这种场景很适合使用yield实现。

包含yield的函数成为一个生成器,生成器同时也是一个迭代器,支持通过next方法获取下一个值。

yield基本使用:

def func():
    for i in range(0,3):
        yield i
 
f = func()
f.next()
f.next()

对于生成器,当调用函数next时,将获取生成器yield后边表达式的值;

当执行完最后一次循环后,结束yield语句,生成器会抛出StopIteration异常;

除了next函数,生成器还支持send函数。该函数可以向生成器传递参数。

def func(n):
    for i in range(0,n):
        val = yield i        
        print val
 
f = func(10)
f.next()
#f.send(None)
f.send(2)
f.send(10)
print f.next()

更多学习内容,请点击Python学习网。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:以上部本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。投诉邮箱:3758217903@qq.com

ZhiUp资源网 常见问题 带有yield的函数在Python中如何使用 https://www.zhiup.top/8482.html

相关