导语:
本文主要介绍了关于带有yield的函数在Python中如何使用的相关知识,希望可以帮到处于编程学习途中的小伙伴
函数中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 for...in循环的使用09/06
- ♥ python如何生成时间戳10/11
- ♥ python3安装详细步骤08/27
- ♥ python参数中默认值的强制执行01/10
- ♥ 如何在python中清除数组元素10/18
- ♥ python输入函数输入的使用08/12
内容反馈