AppEngine管道产量 - 这是产量运算符的标准用法吗?

时间:2011-10-15 18:29:10

标签: python google-app-engine yield pipeline

在以下页面(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模型一起使用?这里发生了什么?

1 个答案:

答案 0 :(得分:2)

从{2.5}开始,从yield分配是标准的。它使协同程序成为可能。

请参阅http://docs.python.org/whatsnew/2.5.html#pep-342-new-generator-features