Protéger les variables constantes

Pourquoi protéger certaines variables ?

Quand on lit des données depuis un fichier (comme un CSV), il est fréquent de vouloir conserver une copie intacte des données originales, même après avoir fait des traitements dessus.

Si on modifie accidentellement une variable contenant des données importantes, on risque de perdre des informations et de rendre le programme difficile à corriger.

Protéger une variable ne veut pas dire qu'elle est "vraiment" constante en Python, mais qu'on adopte des conventions pour éviter de la modifier par erreur.

Convention : écrire en majuscules

En Python, il est d'usage d'écrire les noms des variables que l'on veut considérer comme constantes entièrement en majuscules.

Exemple :

DONNEES_ORIGINALES = ["Nom", "Prenom", "Age"]

Cela indique aux lecteurs du code (et à soi-même !) que cette variable ne doit pas être modifiée.

Utiliser un tuple au lieu d'une liste

Un tuple est une structure immuable en Python : on ne peut pas modifier son contenu après création.

Ainsi, pour protéger un ensemble de valeurs fixes, il est préférable d'utiliser un tuple :

COLONNES_ATTENDUES = ("Nom", "Prenom", "Age")
Attention : si le tuple contient des objets eux-mêmes modifiables (comme des listes), leur contenu pourra être modifié. Le tuple rend seulement immuable la "structure".

Nommer clairement les étapes de transformation

Quand on traite des données (nettoyage, tri, typage...), il est utile de créer de nouvelles variables à chaque étape, avec des noms précis.

Par exemple :

data_csv = charger_csv("fichier.csv")
data_nettoyee = nettoyer(data_csv)
data_typage = typer(data_nettoyee)

Cela permet de :

  • conserver les versions précédentes en cas de besoin,
  • mieux comprendre l'enchaînement des transformations,
  • limiter les erreurs en modifiant directement les bonnes données.
Chaque variable doit avoir un nom qui rappelle l'étape de traitement qu'elle représente.

En résumé

AstuceAvantage
Majuscules pour constantesVisuellement repérables dans le code
Utiliser un tupleProtège contre les modifications accidentelles
Nommer les étapes clairementFavorise la clarté et la sécurité