Maison > développement back-end > Tutoriel Python > Comment l'ordre d'évaluation de Python affecte-t-il les affectations de variables multiples ?

Comment l'ordre d'évaluation de Python affecte-t-il les affectations de variables multiples ?

Susan Sarandon
Libérer: 2024-12-10 06:35:10
original
602 Les gens l'ont consulté

How Does Python's Evaluation Order Affect Multiple Variable Assignments?

Assignation multiple et ordre d'évaluation en Python dévoilés

En Python, l'affectation multiple offre un moyen pratique d'attribuer des valeurs à plusieurs variables simultanément. Cependant, il est crucial de comprendre l'ordre d'évaluation pour éviter des résultats inattendus.

Considérez l'extrait de code suivant :

>>> x = 1
>>> y = 2
>>> x, y = y, x + y
>>> x
2
>>> y
3
Copier après la connexion

Bien que le résultat puisse sembler intuitif, il diffère de ce à quoi vous pourriez vous attendre. La clé réside dans l'ordre d'évaluation de Python.

Dans une instruction d'affectation, le côté droit est évalué avant de définir les valeurs des variables du côté gauche. Ainsi, dans le code donné :

  • y est évalué en premier, donnant la valeur ham.
  • Ensuite, x y est évalué, ce qui entraîne du spam.
  • Enfin, x se voit attribuer du jambon et y se voit attribuer du spam.

Cet ordre d'évaluation est analogue au suivant étapes :

ham = y
spam = x + y
x = ham
y = spam
Copier après la connexion

Contraste ce comportement avec les affectations distinctes suivantes :

>>> x = 1
>>> y = 2
>>> x = y
>>> y = x + y
>>> x
2
>>> y
4
Copier après la connexion

Ici, x se voit attribuer y, puis y se voit attribuer x plus y. Cela équivaut à :

>>> x = y
>>> y = y + y
Copier après la connexion

Comprendre l'ordre d'évaluation est essentiel pour les devoirs simples et multiples. En considérant l'ordre dans lequel les expressions sont évaluées, vous pouvez anticiper les résultats et éviter d'éventuels pièges.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal