Avancer

Section 1.1 Assignations

Une assignation, c'est le fait d'attribuer une valeur à une variable.

Par exemple, le code x = 2 a pour effet d'assigner la valeur \(\text{2}\) à la variable \(\text{x}\text{.}\) Si ensuite on fait afficher le contenu de \(\text{x}\) à l'aide de la commande print(x), on obtient \(\text{2}\) à la sortie.

Pour afficher simultanément le contenu de deux variables \(\text{x}\) et \(\text{y}\text{,}\) il suffit d'entrer print(x, y).

Voici maintenant comment effectuer les deux assignations x = 5 et y = 3 de manière simultanée.

Remarque 1.1.1. Échange du contenu de deux variables.

L'assignation simultanée est très pratique quand on veut échanger le contenu de deux variables.

Pour bien comprendre l'intérêt de l'exemple ci-dessus et de l'assignation simultanée, évaluez le code qui suit.

Cet exemple montre notamment que le code est évalué ligne après ligne : l'ordre des instructions est donc très important.

Remarque 1.1.2. Python Tutor.

L'application Python Tutor est une aide formidable quand il s'agit de comprendre pas à pas l'exécution d'un bloc de code.

Étudiez soigneusement ce qui se passe quand on évalue pas à pas les deux blocs de la remarque 1.1.1 en cliquant sur Next autant de fois que nécessaire.

Essayez maintenant de prédire le résultat des blocs de code qui suivent.

Remarque 1.1.3. De la droite vers la gauche.

Dans l'exemple précédent, la ligne x = x * 2 peut se lire

\begin{equation*} \text{assigner à x le contenu de x * 2} \end{equation*}

ou encore

\begin{equation*} \text{x * 2 va dans x.} \end{equation*}

Comme l'illustre l'exemple suivant, quand on a plusieurs assignations = sur la même ligne, il est pratique de les interpréter en les lisant de la droite vers la gauche.

Remarque 1.1.4. Exponentiation.

Attention, Python ne comprend pas 2^3. À la place, on utilise 2 ** 3.

L'exponentiation est la première dans l'ordre de priorité des opérations mathématiques C.2.1 utilisées par Python.

Consultez les comparaisons C.2.2 utilisées par Python, puis essayez de prédire le résultat des blocs de code qui suivent.

Remarque 1.1.5. Comparaison vs assignation.

Attention à ne pas prendre une comparaison == pour une assignation =.