gpt4 book ai didi

python - Python中的yield表达式的结果是什么?

转载 作者:IT老高 更新时间:2023-10-28 20:27:48 25 4
gpt4 key购买 nike

我知道yield把一个函数变成了一个生成器,但是yield表达式本身的返回值是多少呢?例如:

def whizbang(): 
for i in range(10):
x = yield i

这个函数执行时变量x的值是多少?

我已阅读 Python 文档:http://docs.python.org/reference/simple_stmts.html#grammar-token-yield_stmt并且似乎没有提到 yield 表达式本身的值(value)。

最佳答案

您还可以将值发送 到生成器。如果没有发送值,则 xNone,否则 x 采用发送的值。以下是一些信息:http://docs.python.org/whatsnew/2.5.html#pep-342-new-generator-features

>>> def whizbang():
for i in range(10):
x = yield i
print 'got sent:', x


>>> i = whizbang()
>>> next(i)
0
>>> next(i)
got sent: None
1
>>> i.send("hi")
got sent: hi
2

关于python - Python中的yield表达式的结果是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10695456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com