导语:
本文主要介绍了关于带有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 字符串转换为列表09/11
- ♥ python3.7如何清屏10/17
- ♥ python中相似函数的使用10/06
- ♥ 10个可以快速用Python进行数据分析的小技巧01/03
- ♥ sublime可以写python吗11/21
- ♥ Python的基本数据类型有哪些10/30
内容反馈