Maison >développement back-end >Tutoriel Python >Pourquoi les affectations multiples en Python (x, y = y, x y) diffèrent-elles des affectations séparées (x = y ; y = x y) ?
Assignation multiple et ordre d'évaluation en Python
En Python, lors de l'utilisation d'affectations multiples, telles que x, y = y, x y, c'est impératif de comprendre l’ordre sous-jacent de évaluation.
Question :
Lors de l'attribution de plusieurs valeurs à la fois, pourquoi x, y = y, x y entraînent-ils des valeurs différentes que de les attribuer séparément, c'est-à-dire x = oui ; y = x y?
Réponse :
En Python, le côté droit d'une instruction d'affectation est entièrement évalué avant qu'un réglage de variable ne se produise. Cela implique que dans x, y = y, x y, les étapes suivantes ont lieu :
Effectivement, cela équivaut à :
ham = y spam = x + y x = ham y = spam
Par contre, en x = y ; y = x y, les étapes sont :
Ce résultat dans x étant défini sur la valeur d'origine de y, et y étant défini sur la somme des valeurs d'origine de x et y.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!