Python 3.8 a introduit un nouveau concept connu sous le nom d'"expressions d'affectation" utilisant l'opérateur ":=" , communément appelé l'opérateur « morse ».
Une expression d'affectation prend la forme nom := expr, où expr est une expression Python valide et le nom est un identifiant. La sémantique est que la valeur de l'expression est attribuée au nom, et la valeur de l'expression d'affectation est également la même que celle de l'expression.
La motivation principale car l'introduction d'expressions d'affectation consistait à activer les affectations dans des constructions telles que les compréhensions de liste et les fonctions lambda qui les interdisaient auparavant. Il facilite également le débogage interactif sans avoir besoin de refactoriser le code.
a) Obtention de valeurs conditionnelles :
Avant :
<code class="python">command = input("> ") while command != "quit": print("You entered:", command) command = input("> ")</code>
Après :
<code class="python">while (command := input("> ")) != "quit": print("You entered:", command)</code>
b) Simplification des compréhensions de listes :
Avant :
<code class="python">[(lambda y: [y, x/y])(x+1) for x in range(5)]</code>
Après :
<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 de plusieurs manières :
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!