Maison > Article > développement back-end > Quels sont les divers cas d'utilisation de « rendement de » dans Python 3.3 et ses avantages ?
« rendement de » s'avère particulièrement utile dans les scénarios où :
Lecture des données des générateurs :
<code class="python">def reader(): for i in range(4): yield '< ' + str(i) for i in reader(): print(i) # Prints '< 0', '< 1', '< 2', '< 3'
"rendement de" offre un moyen pratique de parcourir les données générées par un autre générateur.
Envoi de données aux coroutines :
<code class="python">def writer(): while True: w = (yield) print('> ', w) w = writer() for i in range(4): w.send(i) # Prints '> 0', '> 1', '> 2', '> 3'</code>
« rendement de » permet à la coroutine « écrivain » de recevoir des données de manière transparente envoyé depuis une source externe.
« rendement de » reflète le comportement des micro-threads dans le sens que :
Une application pratique du « rendement de » consiste à combiner la lecture et l'écriture de données en une seule fonction. Prenons l'exemple suivant :
<code class="python">def data_handler(): for i in reader(): yield from writer(i) for i in data_handler(): print(i) # Prints the data written by 'writer'</code>
La fonction "data_handler" utilise "yield from" pour transmettre les données de manière séquentielle du générateur "lecteur" à la coroutine "écrivain", créant ainsi un pipeline de traitement de données rationalisé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!