Outils pour utilisateurs

Outils du site


dev:python:core:convention_nommage_variables

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
dev:python:core:convention_nommage_variables [2025/07/21 11:38] – supprimée - modification externe (Date inconnue) 127.0.0.1dev:python:core:convention_nommage_variables [2025/07/21 11:38] (Version actuelle) – ↷ Nom de la page changé de dev:python:core:variables_et_convention_de_nommage à dev:python:core:convention_nommage_variables yoann
Ligne 1: Ligne 1:
 +{{tag>dev python variable nommage nomenclature}}
  
 +:TODO_DOCUPDATE:
 +
 +====== Python : variables et conventions de nommage ======
 +
 +===== Syntaxe =====
 +
 +En python les variables ne peuvent pas commencer par un chiffre, ne doivent pas contenir d'espaces ou de caractères spéciaux. Le nom d'une variable ne doit pas être identique aux mots réservés du langage :
 +
 +Quelques contre exemples produisant des erreurs de syntaxe :
 +<code python>
 +# Tentative d'usage d'un nom de variable commençant par un chiffre/nombre
 +>>> 9var = "hello"
 +  File "<stdin>", line 1
 +    9var = "hello"
 +    ^
 +SyntaxError: invalid decimal literal
 +
 +# Tentative d'usage d'un nom de variable avec espace
 +>>> ma var = "hello"
 +  File "<stdin>", line 1
 +    ma var = "hello"
 +       ^^^
 +SyntaxError: invalid syntax
 +
 +# Tentative d'usage d'un mot clé du langage
 +>>> for = "test"
 +  File "<stdin>", line 1
 +    for = "test"
 +        ^
 +SyntaxError: invalid syntax
 +
 +</code>
 +
 +Le non respect de ces règles lève une exception de type **SyntaxError**.
 +
 +===== Conventions =====
 +
 +Les conventions sont de bonnes pratiques communément admises, largement utilisées et facilitant le travail collaboratif et l'échange du code Python. 
 +
 +  * Éviter l'usage de caractères majuscules et accentués, séparez les mots avec underscore ;
 +  * Préférer les noms de variables en anglais pour conserver une cohérence de lecture du code avec les mots clés et fonctions builtin ;
 +  * Éviter les noms trop courts et les lettres isolées et plus encore les caractères **''l''**, **''O''** ou **''I''** qui portent à confusion car ne sont pas bien distinguables de **1** ou **0** avec certaines polices de caractères.
 +  * Les variables commençant par <key>_</key> ou <key>__</key> sont réservées à des usages particuliers (usages internes, valeurs "privées").
 +
 +Par exemple :
 +  * Évitez ''HealthPoints'' préférez ''health_points''*
 +
 +===== La variable '_' =====
 +
 +Il est courant d’appeler <key>_</key> une variable dont on n’utilise pas le résultat. Cela est utile dans des cas où il est nécessaire de préciser un nom de variable mais dont on ne veut pas vraiment conserver la valeur. On verra ça par la suite avec les assignations multiples où <key>_</key> pourra servir à combler les trous.
 +
 +<code python>
 +>>> # Création d'une liste vide
 +>>> a_list = []
 +
 +>>> # La boucle ci-dessous permet d'initialiser la liste avec 10 valeurs nulles.
 +>>> # Les valeurs retournées par range() ne sont pas utilisées : on les stocke dans une variable '_'
 +>>> for _ in range(10):
 +...   a_list.append(0)
 +... 
 +>>> a_list
 +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 +</code>
 +
 +===== Références =====
 +
 +
 +  * [[https://zestedesavoir.com/tutoriels/2514/un-zeste-de-python/2-manipulations/2-variables/|Tutoriel "Un zeste de Python", à propos des variables]]
 +  * [[https://www.python.org/dev/peps/pep-0008/| La PEP8 ]]