在以下页面(http://code.google.com/p/appengine-pipeline/wiki/GettingStarted)中,我在如何使用AppEngine管道的示例中看到了以下代码:
class AddOne(pipeline.Pipeline):
def run(self, number):
return number + 1
class AddTwoAndLog(pipeline.Pipeline):
def run(self, number):
result = yield AddOne(number)
final_result = yield AddOne(result)
yield LogMessage('The value is: %d', final_result) # Works
我的问题/混淆是关于“=”右侧的收益率陈述。这是标准的python语法/用法,还是这种特殊情况只允许/与Pipeline模型一起使用?这里发生了什么?
答案 0 :(得分:2)
从{2.5}开始,从yield
分配是标准的。它使协同程序成为可能。
请参阅http://docs.python.org/whatsnew/2.5.html#pep-342-new-generator-features