Expressions d'affectation Python

PythonPythonBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre les expressions d'affectation Python, également appelées "opérateur morse" (:=). Cet opérateur, introduit dans Python 3.8, vous permet d'affecter une valeur à une variable en tant que partie d'une expression. Il est particulièrement utile pour optimiser le code, éviter les calculs redondants et simplifier les expressions complexes.

À la fin de ce laboratoire, vous devriez être capable de comprendre et d'appliquer les expressions d'affectation dans vos programmes Python. Nous commencerons par des exemples simples et progresserons progressivement vers des exemples plus complexes.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/while_loops("While Loops") python/ControlFlowGroup -.-> python/list_comprehensions("List Comprehensions") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/scope("Scope") python/PythonStandardLibraryGroup -.-> python/math_random("Math and Random") subgraph Lab Skills python/variables_data_types -.-> lab-5002{{"Expressions d'affectation Python"}} python/numeric_types -.-> lab-5002{{"Expressions d'affectation Python"}} python/conditional_statements -.-> lab-5002{{"Expressions d'affectation Python"}} python/while_loops -.-> lab-5002{{"Expressions d'affectation Python"}} python/list_comprehensions -.-> lab-5002{{"Expressions d'affectation Python"}} python/function_definition -.-> lab-5002{{"Expressions d'affectation Python"}} python/scope -.-> lab-5002{{"Expressions d'affectation Python"}} python/math_random -.-> lab-5002{{"Expressions d'affectation Python"}} end

Expression d'affectation simple

Dans cette étape, nous allons commencer par un exemple simple pour comprendre la syntaxe de base des expressions d'affectation.

Ouvrir l'interpréteur Python

Ouvrez l'interpréteur Python en tapant la commande suivante dans le terminal.

python3

Test simple

Commencons par un exemple simple

## Exemple de base d'une expression d'affectation
n = 5
result = (squared := n * n)
print(squared, result)

Sortie :

25 25

Ici, nous affectons le résultat de n * n à la variable squared en utilisant l'opérateur morse := à l'intérieur des parenthèses. Ensuite, nous affectons la valeur de squared à la variable result. Enfin, nous affichons les valeurs de squared et result.

Utilisation d'expressions d'affectation dans une instruction conditionnelle

Dans cette étape, nous allons explorer l'utilisation des expressions d'affectation à l'intérieur d'une instruction conditionnelle.

## Utilisation d'expressions d'affectation dans une instruction conditionnelle
input_str = "Hello, world!"
if (length := len(input_str)) > 10:
    print(f"La chaîne a {length} caractères, ce qui est plus de 10.")
else:
    print(f"La chaîne a {length} caractères, ce qui est moins ou égal à 10.")

Sortie :

La chaîne a 13 caractères, ce qui est plus de 10.

Ici, nous calculons la longueur de input_str et nous l'affectons à la variable length en utilisant l'opérateur morse à l'intérieur de la condition de l'instruction if. Cela nous permet d'utiliser la valeur de length dans les deux branches de la conditionnelle.

Utilisation d'expressions d'affectation dans une boucle

Maintenant, voyons comment utiliser les expressions d'affectation dans une boucle.

## Utilisation d'expressions d'affectation dans une boucle
numbers = [1, 2, 3, 4, 5]
while (n := numbers.pop()) > 2:
    print(f"Retiré {n}, qui est supérieur à 2.")
print(f"Retiré {n}, qui est inférieur ou égal à 2.")

Sortie :

Retiré 5, qui est supérieur à 2.
Retiré 4, qui est supérieur à 2.
Retiré 3, qui est supérieur à 2.
Retiré 2, qui est inférieur ou égal à 2

Dans cet exemple, nous utilisons l'opérateur morse à l'intérieur de la condition de la boucle while pour retirer des éléments de la liste numbers et les affecter à la variable n. La boucle continue jusqu'à ce qu'un élément inférieur ou égal à 2 soit retiré.

Utilisation d'expressions d'affectation dans une compréhension de liste

Enfin, explorons l'utilisation d'expressions d'affectation dans une compréhension de liste.

## Utilisation d'expressions d'affectation dans une compréhension de liste
from math import sqrt

numbers = [1, 4, 9, 16, 25]
roots = [int(root) for n in numbers if (root := sqrt(n)) == int(root)]
print(roots)

Sortie :

[1, 2, 3, 4, 5]

Dans cet exemple, nous utilisons l'opérateur morse dans une compréhension de liste pour calculer la racine carrée de chaque nombre dans numbers et vérifier si elle est un entier. Si c'est le cas, nous ajoutons la racine carrée entière à la liste roots.

Sommaire

Dans ce laboratoire, nous avons exploré les Expressions d'affectation Python (opérateur morse) grâce à une série d'exemples étape par étape. Nous avons abordé la syntaxe de base et l'utilisation dans les instructions conditionnelles, les boucles et les compréhensions de liste. Maintenant, vous devriez bien comprendre comment utiliser les expressions d'affectation dans votre code Python pour optimiser et simplifier les expressions complexes.

N'oubliez pas d'utiliser les expressions d'affectation judicieusement pour rendre votre code plus lisible et efficace. Comme avec toute fonctionnalité de programmation, il est important de ne pas l'abuser, car cela peut entraîner un code moins maintenable s'il est utilisé excessivement ou de manière inappropriée.

Continuez à pratiquer et à expérimenter avec l'opérateur morse dans différents scénarios pour améliorer vos compétences en programmation Python. Bonne chance, et bonne programmation!