"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Que sont les expressions d'affectation et pourquoi ont-elles été introduites dans Python 3.8 ?

Que sont les expressions d'affectation et pourquoi ont-elles été introduites dans Python 3.8 ?

Publié le 2024-11-12
Parcourir:637

What are Assignment Expressions and Why Were They Introduced to Python 3.8?

Comprendre les expressions d'affectation dans Python 3.8

Depuis Python 3.8, l'opérateur « morse » (:=) a introduit les expressions d'affectation dans le langage. Cette nouvelle fonctionnalité permet aux programmeurs d'attribuer des valeurs dans les compréhensions et les fonctions lambda, qui étaient auparavant limitées aux affectations régulières.

Raison d'être des expressions d'affectation

La principale motivation derrière les expressions d'affectation est de permettre des expressions d'affectation plus concises et code efficace dans les scénarios où les affectations traditionnelles ne sont pas prises en charge. Par exemple, les expressions d'affectation facilitent :

  • Acquisition de valeurs conditionnelles : les valeurs conditionnelles peuvent être obtenues de manière plus succincte, comme le démontre l'exemple de débogage interactif fourni dans la documentation Python.
  • Compréhensions de listes simplifiées : les compréhensions de listes complexes peuvent être simplifiées en attribuant des valeurs intermédiaires aux variables au sein de la compréhension, ce qui rend le code plus lisible et gérable.

Syntaxe, sémantique et grammaire

Les expressions d'affectation suivent une syntaxe spécifique : name := expr, où name est un identifiant et expr est toute expression Python valide. . La valeur de l'expression d'affectation est la même que celle de l'expression expr, mais un effet secondaire supplémentaire attribue la valeur au nom de la cible.

Les expressions d'affectation diffèrent des instructions d'affectation classiques sur plusieurs aspects clés :

  • Ce sont des expressions, pas des déclarations, et peuvent donc apparaître dans des contextes où les expressions sont attendues.
  • Ils ont un ordre d'évaluation différent (de droite à gauche) et une priorité différente par rapport aux expressions normales. affectations.
  • Ils ne prennent pas en charge les cibles multiples, les affectations à des noms non uniques, l'emballage/déballage itérable, les annotations de type en ligne ou les opérations d'affectation augmentées.

Raisons de l'introduction de Expressions d'affectation

Malgré le retrait du PEP 379, qui proposait un concept similaire, le PEP 572 a introduit des expressions d'affectation dans Python pour plusieurs raisons :

  • Pour améliorer la lisibilité et la maintenabilité du code, en particulier dans les compréhensions et les lambdas.
  • Pour activer le débogage interactif sans avoir besoin de refactorisation du code.
  • Pour fournir un moyen plus efficace d'attribuer des valeurs conditionnelles et de simplifier la compréhension des listes.
  • Pour aligner la syntaxe de Python avec d'autres langages de programmation modernes prenant en charge l'affectation expressions.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3