Heim > Artikel > Backend-Entwicklung > Was sind die vielfältigen Anwendungsfälle von „yield from' in Python 3.3 und seine Vorteile?
„yield from“ erweist sich als besonders wertvoll in Szenarien, in denen:
Daten von Generatoren lesen:
<code class="python">def reader(): for i in range(4): yield '< ' + str(i) for i in reader(): print(i) # Prints '< 0', '< 1', '< 2', '< 3'
„Yield from“ bietet eine bequeme Möglichkeit, die generierten Daten zu iterieren durch einen anderen Generator.
Senden von Daten an Coroutinen:
<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>
„yield from“ ermöglicht der „Writer“-Coroutine den nahtlosen Empfang von Daten gesendet von einer externen Quelle.
„Ausbeute von“ spiegelt das Verhalten von Mikro-Threads in diesem Sinne wider dass:
Eine praktische Anwendung von „yield from“ ist die Kombination von Datenlesen und -schreiben in einer einzigen Funktion. Betrachten Sie das folgende Beispiel:
<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>
Die Funktion „data_handler“ verwendet „yield from“, um Daten sequentiell vom „Reader“-Generator an die „Writer“-Coroutine zu übergeben und so eine optimierte Datenverarbeitungspipeline zu erstellen.
Das obige ist der detaillierte Inhalt vonWas sind die vielfältigen Anwendungsfälle von „yield from' in Python 3.3 und seine Vorteile?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!