Que sont les expressions d'affectation et comment fonctionnent-elles avec l'opérateur \'Walrus\' ?

Linda Hamilton
Libérer: 2024-11-01 09:59:30
original
372 Les gens l'ont consulté

What Are Assignment Expressions and How Do They Work with the

Expressions d'affectation avec l'opérateur "Morse"

Depuis Python 3.8, l'opérateur "morse" (:=) active les expressions d'affectation, une fonctionnalité importante qui permet des affectations dans compréhensions et lambdas.

Raison d'être de l'introduction des expressions d'affectation

La principale raison derrière l'introduction de ce concept était de faciliter les affectations au sein des compréhensions et des fonctions lambda, où les affectations traditionnelles ne sont pas autorisées. De plus, il améliore le débogage interactif, éliminant le besoin de restructuration du code.

Syntaxe, sémantique et grammaire

Une expression d'affectation a le nom de forme := expr, où expr est une expression Python valide. et le nom est un identifiant. Sa valeur est la même que expr, avec l'effet secondaire supplémentaire de l'attribution de cette valeur au nom de la variable.

Différences par rapport aux instructions d'affectation régulières :

Les expressions d'affectation diffèrent de les instructions d'affectation régulières de la manière suivante :

  • Les expressions d'affectation vont de droite à gauche, tandis que les affectations régulières sont évaluées de gauche à droite.
  • Les virgules ont une priorité plus élevée dans les expressions d'affectation .
  • Les expressions d'affectation ne prennent pas en charge plusieurs cibles, les affectations ne portant pas sur un seul nom, l'emballage/déballage itérable, les annotations de type en ligne ou les affectations augmentées.

Exemples d'utilisation

Obtention de valeurs conditionnelles :

<code class="python">while (command := input("> ")) != "quit":
    print("You entered:", command)</code>
Copier après la connexion

Simplification des compréhensions de listes :

<code class="python">[[y := x+1, x/y] for x in range(5)]</code>
Copier après la connexion

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!