知行编程网知行编程网  2022-10-01 01:00 知行编程网 隐藏边栏  17 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于yield是什么意思?python yield的用法的相关知识,包括python生成器yield原理,以及python中with的用法这些编程知识,希望对大家有参考作用。

yield是什么意思?python yield的用法




结合网上教学内容,指向yield就是迭代器,如果对yield并理解,大家暂且可以把yield理解成“return”,其使用方法与return大致相同,但

含义有区别:



参考代码:

def g():
    print('A')
    yield 1
    print('B')
    yield 2
    print('C')
 
for i in g():
print(i)



运行结果:

A
 
1
 
B
 
2
 
C



总结分析:

for i in g()执行g()
 
-->print('A')打印A
 
-->yield 1返回值1并保存工作状态,这里i=1
 
-->print(i)打印1
 
-->继续for i in g()执行g(),自yield 1保存的工作状态下恢复继续执行print('B'),打印B
 
-->yield 2返回值2并保存工作状态,这里i=2
 
-->print(i)打印2
 
-->继续for i in g()执行g(),自yield 2保存的工作状态下恢复继续执行print('C'),打印C
 
-->没有yield返回值,因此for操作接受不到值,停止操作


看以上内容你可能就明白

yield



return

的关系和区别了,带yield的函数是一个生成器,而不是一个函数了,这个生成器有一个函数就是

next函数

,next就相当于“下一步”生成哪个数,这一次的next开始的地方是接着上一次的next停止的地方执行的,所以调用next的时候,只是接着上一步停止的地方开始,然后遇到

yield

后,

return

出要生成的数,此步就结束。


相信大部分小伙伴已经弄明白了吧,大家可以根据以上操作,自己尝试看看呢~如需了解更多python实用知识,点击进入

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1 最后编辑于:2022-10-02
这个人很懒,什么都没写
扫一扫二维码分享