这篇文章主要介绍了通过实例简单了解Python中yield的作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
介绍
我们有时候会发现代码中return的地方,有用yield的,难道他们一样吗?其实,yield与return看起来很像,但实际上完全不同。
使用
def test(): print("****start****") while 1: res = yield 1 print("res:", res) t = test() # 函数中有yield关键字,所以函数并不会真的执行,而是先得到一个生成器t print(next(t)) # next让函数开始执行,打印start,然后把1返回给next(t),并把1打印出来,这时res还没赋值 print("*"*10) # 打印十个* print(next(t)) # 函数从res = yield开始执行,但是1已经被yield出去了,所以res实际上没有值,就是None,然后while重新循环,1被yield出去打印 # ****start**** # 1 # ********** # res:None # 1
你绕出来了吗?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。