sla*_*acy 55 python yield generator
我知道yield将函数转换为生成器,但yield表达式本身的返回值是多少?例如:
def whizbang():
for i in range(10):
x = yield i
Run Code Online (Sandbox Code Playgroud)
x这个函数执行时变量的值是多少?
我已经阅读了Python文档:http://docs.python.org/reference/simple_stmts.html#grammar-token-yield_stmt,似乎没有提到yield表达式本身的值.
jam*_*lak 61
您还可以为send生成器赋值.如果发送,则没有价值x就是None,否则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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16734 次 |
| 最近记录: |