Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die Verwendung von Next und Send in Python (Code)

Einführung in die Verwendung von Next und Send in Python (Code)

不言
不言Original
2018-09-26 15:57:033131Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Verwendung von Python (Code). Ich hoffe, dass er für Freunde hilfreich ist.

Wenn send keine Parameter trägt, haben send(None) und next() den gleichen Effekt, wie zum Beispiel:

def a():
    print('aaa')
    p = yield '123'
  #print(p)
    print('bbb')

r = a()
print(next(r))
#print(r.send(None))
#使用next(r) 和 r.send(None)输出的结果都是
#注意的是,这里的p变量的值都是None

aaa

Wenn der Parameter von send nicht None ist, wird der Ertrag xx als Darstellung betrachtet und der Wert des Parameters von send wird p zugewiesen. Die nachfolgende Operation ist derselbe wie bei next, z. B.:

rrree

Lassen Sie uns über die Ausführungsreihenfolge sprechen. Erstens ist a() ein Generator; die erste Ausführung ist entweder next(r) oder r.send(None). use r.send('xxxxx') ;Dies wird einen Fehler melden. Wenn next(r) zum ersten Mal ausgeführt wird, gibt es zuerst aaa,

aus und springt dann heraus, wenn es auf yield trifft. Wenn r.send('hello') dann ausgeführt wird, wird p1 der Wert zugewiesen Hallo, und dann Setzen Sie den letzten Lauf fort, drucken Sie im nächsten Schritt bbb aus und drucken Sie dann „p1 wird durch Senden übergeben“ aus. Es springt heraus, wenn es erneut auf die zweite Ausbeute stößt, sodass das Ergebnis nur drei Zeilen ausgibt das nachfolgende p2 wird nicht ausgeführt.

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von Next und Send in Python (Code). 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