likebeta
Twisted与异步编程入门

Updated 2 years ago

张帆 (@413180794) started discussion #7

a year ago · 0 comments

Open

在Python2.5以后的版本中, yield 语句是一个计算值的表达式.重新启动生成器的代码可以使用 send 方法代替 next 决定它的值(如果使用 next 则值为 None), 而且你还可以在迭代器内部使用 throw 方法抛出任何异常. 是不是很酷?

构造"回调"的另一种方法 (Edit this file)

注意val = yield 1的表达式,其中send(None)表示的是仅仅取回yield的值,而没有执行val=,这一步操作,所以程序仍然停留在val = yield 1,这也是为什么第一步只能使用send(None),因为逻辑上讲,yield的值还没有取出来,还没有轮到赋值操作执行,所以,当第二次执行send(20)的时候,会执行val = 20,然后在取出结果。

No description provided.

No comments on this discussion.


to join this conversation on GitBook. Already have an account? Sign in to comment
Notifications

You’re not receiving notifications from this thread.


1 participant