Sobes.tech
Junior

Quel type de typage en Python : statique ou dynamique?

sobes.tech IA

Réponse de l'IA

Dynamique, mais avec des éléments statiques grâce aux annotations de types.

Dans la typage dynamique, le type d'une variable est déterminé lors de l'exécution du programme en fonction de la valeur qui lui est assignée.

# Typage dynamique : x peut prendre différents types de données
x = 10  # int
x = "bonjour" # str

Depuis la version Python 3.5, des annotations de types (type hints) ont été ajoutées, permettant d'indiquer le type attendu d'une variable, d'un argument de fonction ou d'une valeur de retour. Cela ne rend pas Python un langage à typage statique au sens classique, mais permet d'utiliser des analyseurs statiques de code (par exemple, mypy) pour vérifier les types avant l'exécution.

# Annotations de types
def greet(name: str) -> str:
    return f"Bonjour, {name}"

âge: int = 30

Principales différences entre typage dynamique et statique :

Caractéristique Typage dynamique Typage statique
Définition des types En temps d'exécution En temps de compilation
Vérification des erreurs de types En temps d'exécution En temps de compilation
Flexibilité Plus élevé Moins élevé
Performance Peut être inférieur (en raison des vérifications en cours d'exécution) Généralement supérieur (les types sont connus à l'avance)

Malgré les annotations, Python reste un langage à typage dynamique, car la vérification des types en temps d'exécution se produit toujours, et il est possible d'assigner à une variable une valeur d'un autre type, même si une annotation syntaxique était présente. Les annotations servent à améliorer la lisibilité du code, faciliter le débogage et utiliser des outils d'analyse statique.