Return VS Yield in Python – Ein kurzer Comic
Und dieses Problem verschlimmert sich, je mehr Daten wir verarbeiten. Was ist, wenn 1000 Leute in der Schlange stehen?
Das Schlüsselwort „return“.
def add10(x):
return x
x = add10(4) # x = 14
def get_takoballs(orders):
output = []
for order in orders:
output.append(f'{order} takoballs')
return output
y = get_takoballs([4,6,8])
# y = ['4 takoballs', '6 takoballs', '8 takoballs']
Das Schlüsselwort „Ertrag“.
Wie das returnSchlüsselwort yieldbezeichnet das Schlüsselwort die Ausgabe einer Funktion.
returnIm Gegensatz zum Schlüsselwort kann eine Funktion jedoch yieldmehrere Ausgaben haben. Das yieldSchlüsselwort stoppt nicht die gesamte Funktion nach dem Ausführen.
def testfunction():
yield 4
yield 5
yield 6
for n in testfunction():
print(n)
# 4
# 5
# 6
def get_takoballs(orders):
for order in orders:
yield f'{order} takoballs'
for food in get_takoballs([4, 6, 8]):
print(food)
# 4 takoballs
# 6 takoballs
# 8 takoballs
Nehmen wir an, wir haben 10000 Kunden in unserem Tako-Stand (statt nur 3).
orders = # a list containing 10000 orders
def return_stall(orders):
# process all 10000 orders first
# then output all 10000 processed orders
output = []
for order in order:
output.append(f'{order} takoballs')
return output
def yield_stall(orders):
# process 1 order, then output it
# repeat til all 10000 orders are completed
for order in orders:
yield f'{order takoballs}'
Für die yield_stallFunktion wird jede Bestellung ausgehändigt (an den Kunden gegeben), sobald sie bearbeitet wurde. Der erste Typ muss nur darauf warten, dass seine und nur seine Bestellung beendet wird.
Abschluss
Wenn Sie es mit einer beträchtlichen Datenmenge zu tun haben, sollten Sie die Verwendung einer Generatorfunktion (eine Funktion, die yield) verwendet, in Betracht ziehen, um die Dinge zu beschleunigen. Hoffe das war verständlich und hilfreich!
Einige abschließende Worte
Wenn diese Geschichte wertvoll war und Sie ein wenig Unterstützung zeigen möchten, könnten Sie:
- Klatsche 50 Mal für diese Geschichte (das hilft mir wirklich sehr)
- Melden Sie sich über meinen Link für eine Medium-Mitgliedschaft an ($5/Monat, um unbegrenzt Medium-Geschichten zu lesen)
Level-Up-Codierung
Danke, dass Sie ein Teil unserer Community sind! Bevor du gehst:
- Klatsche für die Geschichte und folge dem Autor
- Sehen Sie sich weitere Inhalte in der Level Up Coding-Publikation an
- Kostenloser Kurs für Programmierinterviews ⇒ Kurs anzeigen
- Folge uns: Twitter | LinkedIn | Newsletter

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































