Introduites dans Python 3.8, les expressions d'affectation utilisant l'opérateur « morse » (:=) fournissent une amélioration significative du langage, permettant des affectations au sein des compréhensions et des lambdas.
Une expression d'affectation est une expression nommée de la forme nom := expr, où nom est un identifiant et expr est toute expression valide. L'expression est évaluée à la valeur de expr, tout en attribuant simultanément cette valeur à name.
La principale motivation pour l'ajout d'expressions d'affectation était de :
a) Obtention de valeurs conditionnelles
Au lieu de :
<code class="python">command = input("> ") while command != "quit": print("You entered:", command) command = input("> ")</code>
Les expressions d'affectation permettent :
<code class="python">while (command := input("> ")) != "quit": print("You entered:", command)</code>
b) Simplifier les compréhensions de listes
Exemple :
<code class="python">[(lambda y: [y, x/y])(x+1) for x in range(5)]</code>
Peut être simplifié en :
<code class="python">[[y := x+1, x/y] for x in range(5)]</code>
Les expressions d'affectation diffèrent des affectations régulières affectations sous plusieurs aspects :
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!