Aller au contenu

Variables & types#

essentiel

Déclaration#

Pas de mot-clé de déclaration : l'affectation crée la variable. Le typage est dynamique (le type est lié à la valeur, pas au nom).

x = 42
x = "maintenant une chaîne"   # autorisé, x change de type

Conventions de nommage#

Élément Convention Exemple
Variable, fonction snake_case nombre_total
Constante MAJUSCULES_SNAKE TAUX_TVA
Classe PascalCase CompteBancaire
Interne (convention) préfixe _ _valeur_interne

Python n'a pas de private / public : le préfixe _ est une convention indiquant « ne pas utiliser depuis l'extérieur », rien ne l'empêche techniquement.

Portée#

Voir Spécificités Python pour la règle LEGB, global et nonlocal.

Constantes#

Python n'a pas de vraies constantes : la convention MAJUSCULES signale une valeur à ne pas modifier, mais rien ne l'empêche techniquement.

PI = 3.14159

Énumérations (enum)#

Pour un ensemble fermé de valeurs nommées (états, modes, catégories), préférer une énumération à des chaînes libres : les fautes de frappe deviennent des erreurs immédiates.

from enum import Enum, auto

class Etat(Enum):
    EN_ATTENTE = auto()
    EN_COURS = auto()
    TERMINE = auto()

e = Etat.EN_COURS
e.name        # 'EN_COURS'
e.value        # 2
list(Etat)      # [<Etat.EN_ATTENTE: 1>, <Etat.EN_COURS: 2>, <Etat.TERMINE: 3>]

match e:
    case Etat.EN_COURS:   # comparaison par point : pas de capture accidentelle
        ...

Annotations de type (indicatives)#

x: int = 42
nom: str
def f(a: int, b: int = 0) -> int:
    return a + b

Non vérifiées à l'exécution (sauf outil externe comme mypy). Détail : Type hints.