Il semble y avoir deux types de coroutine à base de générateur:Ces deux types de coroutines génératrices sont-ils le même concept?
De a reply par Jim Fasarakis Hilliard:
coroutine base Générateur: Un générateur (
def
+yield
) que est enveloppé partypes.coroutine
. Vous devez l'envelopper danstypes.coroutine
si vous en avez besoin pour être considéré comme un objet coroutin.De Python dans un Nutshell, qui n'appelle explicitement "coroutine à base de générateur":
Lorsque vous écrivez du code Python basé sur
asyncio
(de préférence en utilisant également add-on modules de asyncio.org), vous écrirez habituellement coroutine. Jusqu'à Python 3.4 inclus, ces fonctions sont des générateurs utilisant l'instructionyield from
couverte dans "rendement de (v3-only)" à la page 95, décorée avec@asyncio.coroutine
, couverte dans "coroutines asynchrones" à la page 518;De https://www.python.org/dev/peps/pep-0492/#differences-from-generators
coroutines à base de générateur
(code asyncio doit être décoré avec @ asyncio.coroutine)
http://masnun.com/2015/11/13/python-generators-coroutines-native-coroutines-and-async-await.html appelle aussi "coroutine base générateur".
Les deux types de coroutines génératrices sont-ils le même concept? Dans la négative, quelles sont leurs différences dans les buts et les usages?
Merci.