Aller au contenu

Aide-mémoire — Syntaxe#

essentiel

Structure d'un fichier#

"""Docstring de module (optionnel)."""

import os
from collections import Counter

CONSTANTE = 42  # convention : MAJUSCULES

def fonction(a, b=0):
    """Docstring de fonction (optionnel)."""
    return a + b

class MaClasse:
    """Docstring de classe (optionnel)."""

if __name__ == "__main__":
    print(fonction(1, 2))

Indentation#

Pas d'accolades : les blocs sont délimités par l'indentation (4 espaces par convention, jamais de tabulations mélangées).

if condition:
    instruction_1
    instruction_2
else:
    instruction_3

Commentaires#

# commentaire sur une ligne

"""
commentaire (ou chaîne littérale)
sur plusieurs lignes
"""

Affectation#

x = 1
x, y = 1, 2          # affectation multiple
x = y = 0            # affectation chaînée
a, *reste = [1, 2, 3] # dépaquetage étendu
x += 1                # pas de x++ ni ++x en Python

f-strings#

nom, age = "Ana", 21
print(f"{nom} a {age} ans")
print(f"{age:03d}")          # formatage : 021
print(f"{3.14159:.2f}")      # 3.14
print(f"{nom=}")              # nom='Ana' (debug)

Opérateurs#

Catégorie Opérateurs
Arithmétiques + - * / // % **
Comparaison == != < > <= >=
Logiques and or not
Appartenance in, not in
Identité is, is not
Bit à bit & \| ^ ~ << >>
Affectation augmentée += -= *= /= //= %= **= &= \|= ^= <<= >>=

Détail complet : Types, Structures de contrôle.

match / case courant#

match commande.split():
    case ["quitter"]:
        return
    case ["deplacer", x, y]:
        deplacer(int(x), int(y))
    case ["aide"] | ["?"]:
        afficher_aide()
    case _:
        print("commande inconnue")

Piège

Une variable en minuscule dans un case capture toujours (comme _) ; utiliser une valeur littérale ou case Couleur.ROUGE: (avec un point) pour comparer à une constante.