Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen Sie einen Beispielcode zum Thema Ertrag

Teilen Sie einen Beispielcode zum Thema Ertrag

零下一度
零下一度Original
2017-06-01 09:05:491307Durchsuche

Der unten stehende Herausgeber wird Ihnen eine kurze Diskussion zum vorläufigen Verständnis des Ertrags geben. Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Editor und schauen wir uns

wie folgt an:

def go():
  while True:
    data = 1
    r = yield data # data是返回值,r是接收值
    print("data", data)
    print("A1", r)
    data += 1

    r = yield data
    print("data",data)
    r += r
    print("A2", r)
    data += 1

    r = yield data
    print("data",data)
    print("A3", r)
    # 运行时此后若找不到下一个yield,则会报错StopIteration

my = go()
print("my", my)
print("None", my.send(None))
print(my.send("1"))
print(my.send("2"))
print(my.send("3"))

①my.send(None ): bedeutet, dass die Coroutine gestartet wird. Dieser Schritt gibt den Datenwert nach der ersten Ausbeute zurück.

②send Einmal ausgeführt, ist der Code zwischen den beiden Ausbeuten und gibt schließlich den Datenwert nach der nächsten Ausbeute zurück, wenn die letzte Ausbeuteanweisung fehlt , Der Fehler „Stoplteration“ wird gemeldet

③r = yield data

r wird von my.send('incoming data') übergeben ) Daten

Daten sind die Daten, die nach der Ausführung dieses Abschnitts zurückgegeben werden

[Verwandte Empfehlungen]

1 Detaillierte Beschreibung der Yield-Nutzung in Python

2. Analyse der Verwendung von und und oder in Python

3. Detaillierte Erläuterung der Ertrags- und Generator-Beispielcodes in Python

4. Einführung in die Verwendung von yield in Python

Das obige ist der detaillierte Inhalt vonTeilen Sie einen Beispielcode zum Thema Ertrag. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn