Heim >Backend-Entwicklung >Python-Tutorial >Warum unterscheidet sich die Mehrfachzuweisung in Python (x, y = y, x y) von der Einzelzuweisung (x = y; y = x y)?
Mehrfachzuweisungs- und Auswertungsreihenfolge in Python
In Python ist es so, wenn Mehrfachzuweisungen wie x, y = y, x y verwendet werden Es ist unbedingt erforderlich, die zugrunde liegende Reihenfolge zu verstehen Auswertung.
Frage:
Warum ergeben sich bei der gleichzeitigen Zuweisung mehrerer Werte x, y = y, x y andere Werte als bei der getrennten Zuweisung, d. h. x = y; y = x y?
Antwort:
In Python wird die rechte Seite einer Zuweisungsanweisung vollständig ausgewertet, bevor eine Variableneinstellung erfolgt. Dies impliziert, dass in x, y = y, x y die folgenden Schritte stattfinden:
Im Grunde ist es äquivalent zu:
ham = y spam = x + y x = ham y = spam
Andererseits gilt in x = y; y = x y, die Schritte sind:
Dies ergibt sich wobei x auf den ursprünglichen Wert von y und y auf die Summe der ursprünglichen Werte von x und y gesetzt wird.
Das obige ist der detaillierte Inhalt vonWarum unterscheidet sich die Mehrfachzuweisung in Python (x, y = y, x y) von der Einzelzuweisung (x = y; y = x y)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!