有没有python中内置的coroutine装饰器?我在 tornado
但在python中有没有类似这样的东西?
@coroutine
def func():
while True:
val = yield
这样我就可以调用它 send
立即到它,而不使用 next
首先,我想一个基本的方法是: 我想一个基本的方法就是。
def coroutine(func):
@functools.wraps(func)
def wrapper_coroutine(*args, **kwargs):
f = func(*args, **kwargs)
next(f)
return f
return wrapper_coroutine
但我想知道Python是否在某个地方内置了我所遗漏的东西
你可能已经自己回答了,但为了让其他遇到这个问题的人受益,我也在找同样的东西,找到了下面的内容。
简单的答案,就像评论中所说的那样,标准库中似乎没有这样的东西。
的答案。词组及其应用 该网站上的内容指向了一个实施 @coroutine装饰师 由David Beazely编写,为了方便起见,下面列出了其中的一个代码片段。
def coroutine(func):
def start(*args,**kwargs):
cr = func(*args,**kwargs)
cr.next()
return cr
return start