Aide-mémoire

Aide-mémoire Python : syntaxe, boucles, fonctions, listes, dictionnaires, méthodes de chaînes et commandes du terminal

Mis à jour: · Skillaria.Top

Aide-mémoire Python sur une page : syntaxe et indentation, types de données, opérateurs, conditions, boucles for et while, compréhensions, fonctions, fonctions intégrées, méthodes des chaînes, des listes, des dictionnaires et des ensembles, exceptions, fichiers, classes, modules de la bibliothèque standard et commandes du terminal. Chaque table contient des exemples prêts à coller dans l'interpréteur.

Cet aide-mémoire Python réunit sur une seule page tout ce qu'il faut avoir sous la main pendant les premiers mois : la syntaxe, les boucles, les fonctions intégrées, les méthodes des chaînes, des listes et des dictionnaires, ainsi que les commandes du terminal. Chaque tableau est une référence courte avec des exemples de fonctionnement, que vous pouvez coller directement dans l'interpréteur interactif (REPL).

Bases de la syntaxe Python

La particularité principale du langage : les blocs sont délimités par l'indentation, et non par des accolades. Après une ligne qui se termine par deux-points (if, for, def, class), les lignes suivantes sont décalées de 4 espaces. Mélanger tabulations et espaces est interdit : vous obtiendrez une IndentationError.

ConstructionExempleExplication
Commentaire# textetout ce qui suit # jusqu'à la fin de la ligne est ignoré
Variableage = 25le type n'est pas déclaré, il est déterminé par la valeur
Affectation multiplea, b = 1, 2dépaquetage ; échange de valeurs : a, b = b, a
Affichageprint("Bonjour", name)les arguments sont séparés par un espace
Saisies = input("Nom : ")renvoie toujours une chaîne
f-chaînef"{name} : {price:.2f}"insertion d'expressions et format
Annotation de typecount: int = 0indication pour l'IDE et les vérificateurs, non contrôlée à l'exécution
Bloc videpassespace réservé là où la syntaxe exige un corps
Importfrom math import sqrtimportation d'un module ou d'un nom depuis un module

Types de données

TypeLittéralModifiable
int42, 1_000_000non
float3.14, 1e-3non
boolTrue, Falsenon
str"texte", 'texte', """plusieurs lignes"""non
list[1, 2, 3]oui
tuple(1, 2), (1,)non
dict{"a": 1}oui
set{1, 2}, vide — set()oui
NoneTypeNone—

Opérateurs

GroupeOpérateursExemple → résultat
Arithmétique+ - * / // % **7 // 2 → 3, 7 % 2 → 1, 2 ** 10 → 1024
Comparaison== != < > <= >=1 < x < 10 — chaîne de comparaisons
Logiqueand or notx or "par défaut"
Appartenancein, not in"a" in "abc" → True
Identitéis, is notx is None
Affectation+= -= *= /=, :=if (n := len(s)) > 10: ...

Conditions et filtrage par motifs

if score >= 90:
    grade = "A"
elif score >= 70:
    grade = "B"
else:
    grade = "C"

status = "adulte" if age >= 18 else "enfant"   # opérateur ternaire

match command:
    case "start":
        print("Démarrage")
    case "stop" | "exit":
        print("Arrêt")
    case _:
        print("Commande inconnue")

Sont considérés comme faux : False, None, 0, la chaîne vide et les collections vides. C'est pourquoi on écrit simplement if items au lieu de if len(items) > 0.

Boucles en Python : syntaxe de for et while

Boucle for

Syntaxe de la boucle for en Python : for variable in séquence:, suivie du corps indenté. La boucle parcourt tout objet itérable : une chaîne, une liste, un dictionnaire, un fichier, un range.

for i in range(5):              # 0 1 2 3 4
    print(i)

for i in range(10, 0, -2):      # 10 8 6 4 2
    print(i)

for i, fruit in enumerate(["pomme", "poire"], start=1):
    print(i, fruit)

for name, score in zip(names, scores):
    print(name, score)

for key, value in prices.items():
    print(key, value)

Boucle while

attempts = 3
while attempts > 0:
    password = input("Mot de passe : ")
    if password == "secret":
        print("Connexion réussie")
        break
    attempts -= 1
else:
    print("Plus de tentatives")   # exécuté si la boucle n'a pas été interrompue par break
InstructionCe qu'elle fait
breakquitte la boucle immédiatement
continuepasse à l'itération suivante
else d'une boucles'exécute si la boucle s'est terminée sans break
range(stop), range(start, stop, step)suite de nombres, stop n'est pas inclus

Compréhensions de listes

squares = [x ** 2 for x in range(10)]
evens = [x for x in numbers if x % 2 == 0]
lengths = {word: len(word) for word in words}
unique = {c.lower() for c in text}
total = sum(x * x for x in range(100))   # expression génératrice

Fonctions

def greet(name: str, greeting: str = "Bonjour") -> str:
    """Renvoie un message d'accueil."""
    return f"{greeting}, {name} !"

def total(*args, **kwargs):
    return sum(args), kwargs

square = lambda x: x * x
print(greet("Anna"))                 # Bonjour, Anna !
print(greet("Anna", greeting="Salut"))  # Salut, Anna !
ÉlémentSignification
def f(a, b=1)paramètre avec une valeur par défaut
*argsnombre quelconque d'arguments positionnels (tuple)
**kwargsnombre quelconque d'arguments nommés (dictionnaire)
returnrenvoie une valeur ; sans lui, la fonction renvoie None
lambda x: ...petite fonction anonyme d'une seule expression
global, nonlocalmodification d'une variable d'une portée extérieure

N'utilisez pas une valeur par défaut modifiable comme def f(items=[]) : la liste est créée une seule fois et se remplit d'un appel à l'autre. La bonne écriture est items=None, puis à l'intérieur if items is None: items = [].

Fonctions intégrées Python

Les fonctions intégrées de Python sont disponibles sans import. Ce sont les fonctions principales, présentes dans presque tous les scripts.

FonctionCe qu'elle faitExemple → résultat
print()affiche des valeursprint(1, 2, sep="-") → 1-2
input()lit une chaîne au clavierint(input())
len()longueur d'une collection ou d'une chaînelen("abc") → 3
type()type d'un objettype(3.0) → <class 'float'>
isinstance()vérification de typeisinstance(5, int) → True
int() float() str() bool()conversion de typesint("42") → 42
list() tuple() set() dict()création de collectionslist("ab") → ['a', 'b']
range()intervalle de nombreslist(range(3)) → [0, 1, 2]
enumerate()couples (indice, élément)list(enumerate("ab")) → [(0, 'a'), (1, 'b')]
zip()assemble des séquences deux à deuxlist(zip([1, 2], "ab")) → [(1, 'a'), (2, 'b')]
sum() min() max()somme, minimum, maximummax([3, 7, 1]) → 7
abs() round()valeur absolue et arrondiround(3.14159, 2) → 3.14
sorted()nouvelle liste triéesorted(words, key=len, reverse=True)
reversed()itérateur dans l'ordre inverselist(reversed([1, 2])) → [2, 1]
map() filter()appliquer une fonction / filtrerlist(map(str, [1, 2])) → ['1', '2']
any() all()au moins un / tous vraisall(x > 0 for x in nums)
open()ouvre un fichieropen("a.txt", encoding="utf-8")
help() dir()aide et liste des attributshelp(str.split), dir(list)
id() hash()identifiant et empreinte d'un objethash("a")

Le meilleur aide-mémoire est toujours à portée de main : la fonction help() dans le REPL. help(dict) affiche toutes les méthodes d'un dictionnaire avec leur description, et dir(obj) donne la liste des noms disponibles.

Méthodes des chaînes

Les chaînes en Python sont immuables : chaque méthode renvoie une nouvelle chaîne. Les tranches fonctionnent comme pour les listes : s[1:4], et s[::-1] pour inverser.

MéthodeExemple → résultat
upper() lower()"Py".upper() → 'PY'
capitalize() title()"hello world".title() → 'Hello World'
strip() lstrip() rstrip()" hi \n".strip() → 'hi'
split(sep)"a,b,c".split(",") → ['a', 'b', 'c']
join(iterable)"-".join(["a", "b"]) → 'a-b'
replace(old, new)"rose".replace("r", "p") → 'pose'
find() index()"hello".find("l") → 2 ; absent — -1 (pour index — erreur)
count()"banana".count("a") → 3
startswith() endswith()"file.py".endswith(".py") → True
isdigit() isalpha() isspace()"123".isdigit() → True
removeprefix() removesuffix()"test_a".removeprefix("test_") → 'a'
zfill() center() ljust()"7".zfill(3) → '007'
format()"{} + {}".format(1, 2) → '1 + 2'

Commandes des listes Python

La liste est une collection ordonnée et modifiable. La plupart des méthodes modifient la liste sur place et renvoient None : a = a.sort() est donc une erreur fréquente.

OpérationCe qu'elle faitExemple
append(x)ajoute à la fina.append(4)
extend(iter)ajoute tous les élémentsa.extend([5, 6])
insert(i, x)insère à un indicea.insert(0, "premier")
remove(x)supprime la première occurrence de la valeura.remove(3)
pop(i)supprime et renvoie l'élément (par défaut le dernier)last = a.pop()
clear()vide la listea.clear()
index(x)indice de la première occurrencea.index("b")
count(x)nombre d'occurrencesa.count(1)
sort()trie sur placea.sort(key=str.lower)
reverse()inverse sur placea.reverse()
copy()copie superficielleb = a.copy()
del a[i]suppression par indice ou par tranchedel a[1:3]
Tranchesa[start:stop:step]a[-1] — le dernier, a[:3] — les trois premiers

Commandes des dictionnaires Python

OpérationCe qu'elle faitExemple
d[key]valeur de la clé ; clé absente — KeyErrord["name"]
get(key, default)valeur ou valeur de secoursd.get("age", 0)
d[key] = valueajouter ou modifierd["city"] = "Lyon"
keys() values() items()clés, valeurs, pairesfor k, v in d.items():
update()fusionner avec un autre dictionnaired.update({"a": 1})
d1 | d2nouveau dictionnaire fusionnémerged = defaults | user
pop(key, default)supprime et renvoie la valeurd.pop("tmp", None)
popitem()supprime la dernière paire ajoutéed.popitem()
setdefault(key, value)renvoie la valeur, ou la crée si la clé est absented.setdefault("tags", []).append("py")
key in dvérifie la présence d'une cléif "name" in d:
dict.fromkeys()dictionnaire à partir des clés avec une valeur communedict.fromkeys("abc", 0)
len(d), del d[key]taille et suppressiondel d["old"]

Tuples et ensembles

OpérationExemple → résultat
Dépaquetage d'un tuplex, y = (3, 4)
Ajouter à un ensembles.add(5), supprimer — s.discard(5)
Union / intersection{1, 2} | {2, 3} → {1, 2, 3} ; {1, 2} & {2, 3} → {2}
Différence{1, 2} - {2} → {1}
Supprimer les doublons d'une listelist(dict.fromkeys(items)) — en conservant l'ordre

Exceptions et fichiers

try:
    number = int(input("Nombre : "))
except ValueError as err:
    print("Ce n'est pas un nombre :", err)
else:
    print("Succès")
finally:
    print("Toujours exécuté")

with open("data.txt", "w", encoding="utf-8") as f:
    f.write("ligne\n")

with open("data.txt", encoding="utf-8") as f:
    for line in f:
        print(line.rstrip())
ExceptionQuand elle apparaît
SyntaxError, IndentationErrorerreur de syntaxe ou d'indentation
NameErrornom non défini (faute de frappe)
TypeErroropération avec un type inadapté : "1" + 1
ValueErrorbon type, mais valeur incorrecte : int("abc")
IndexError, KeyErrorindice ou clé inexistant
FileNotFoundErrorfichier introuvable
ZeroDivisionErrordivision par zéro

Classes

from dataclasses import dataclass

class Dog:
    def __init__(self, name: str):
        self.name = name

    def bark(self) -> str:
        return f"{self.name} : Ouaf !"

@dataclass
class Point:
    x: float
    y: float

print(Dog("Rex").bark())   # Rex : Ouaf !
print(Point(1, 2))         # Point(x=1, y=2)

Modules intégrés de Python

La bibliothèque standard est installée avec l'interpréteur : il suffit de faire un import.

ModuleÀ quoi il sertExemple
mathcalcul mathématiquemath.sqrt(16) → 4.0
randomnombres aléatoiresrandom.randint(1, 6), random.choice(items)
datetimedate et heuredatetime.date.today()
pathlibchemins et fichiersPath("data").glob("*.csv")
os, syssystème, variables d'environnement, argumentsos.environ.get("HOME"), sys.argv
jsonlecture et écriture de JSONjson.loads(text), json.dumps(obj, ensure_ascii=False)
csvtableaux CSVcsv.DictReader(f)
collectionsCounter, defaultdict, dequeCounter("banana").most_common(1) → [('a', 3)]
itertoolscombinaisons et enchaînement d'itérateursitertools.chain(a, b)
reexpressions régulièresre.findall(r"\d+", s)
timepauses et mesure du tempstime.sleep(1), time.perf_counter()
asynciocode asynchroneasyncio.run(main())

Python 3.15 introduit l'import paresseux (PEP 810) : lazy import pandas as pd reporte le chargement du module jusqu'à sa première utilisation, si bien qu'un script avec des dépendances lourdes démarre nettement plus vite.

Commandes Python dans le terminal

Ce groupe regroupe les commandes pour lancer l'interpréteur et installer des bibliothèques. Sous Windows, on écrit en général python ou py à la place de python3.

CommandeCe qu'elle fait
python3 --versionaffiche la version
python3ouvre la console interactive REPL (sortie avec exit())
python3 script.pylance un fichier
python3 -c "print(2 + 2)"exécute une seule ligne
python3 -m venv .venvcrée un environnement virtuel
source .venv/bin/activate / .venv\Scripts\activateactive l'environnement (Linux, macOS / Windows)
python3 -m pip install requestsinstalle un paquet
pip list, pip freeze > requirements.txtliste des paquets et sauvegarde
pip install -r requirements.txtinstalle les dépendances d'un fichier
python3 -m http.server 8000serveur web simple dans le dossier courant
uv init, uv add requests, uv run main.pyprojet, dépendance et lancement avec le gestionnaire uv

Erreurs fréquentes des débutants

  • Comparer avec = — dans une condition, il faut == ; un seul = est une affectation.
  • Deux-points oublié après if, for, def : cela donne une SyntaxError.
  • Additionner une chaîne et un nombre : "Âge : " + 25 provoque une erreur ; écrivez f"Âge : {25}".
  • Modifier une liste pendant son parcours — parcourez une copie for x in a[:] ou construisez une nouvelle liste.
  • input() renvoie une chaîne — pour un calcul, enveloppez-la dans int() ou float().

Conclusion

La syntaxe de Python repose sur l'indentation, les deux-points et un petit nombre de constructions : conditions, boucles for et while, fonctions, classes. Ajoutez une vingtaine de fonctions intégrées et les méthodes des chaînes, des listes et des dictionnaires : vous couvrez la plupart des tâches du quotidien. Gardez cet aide-mémoire sous la main ; quand les tableaux deviendront familiers, passez aux modules et à l'asynchrone. Tout cela est présenté pas à pas, avec la pratique, dans le cours « Python 3.15 : de débutant à expert ».

Questions fréquentes

Combien d'espaces faut-il pour l'indentation en Python ?

Selon la norme PEP 8, 4 espaces par niveau. L'essentiel est de rester cohérent dans tout le bloc et de ne pas mélanger avec les tabulations.

Quelle différence entre une liste et un tuple ?

La liste est modifiable : on peut la compléter et la trier sur place ; le tuple ne se modifie pas, il peut donc servir de clé de dictionnaire et représenter un ensemble de valeurs fixe.

Comment voir toutes les méthodes d'un objet directement dans Python ?

Appelez dir(obj) pour la liste des noms et help(obj) pour leur description ; par exemple, help(str) affiche toutes les méthodes des chaînes.

Quelle différence entre sort() et sorted() ?

La méthode list.sort() trie la liste elle-même et renvoie None, tandis que la fonction sorted() renvoie une nouvelle liste et accepte toute collection itérable.

Faut-il un point-virgule en fin de ligne en Python ?

Non. Le point-virgule permet de séparer plusieurs instructions sur une même ligne, mais dans un code normal chaque instruction commence sur sa propre ligne.

Apprenez ce sujet en vidéo

Ce sujet est traité en détail avec de la pratique dans le cours « Python 3.15: от новичка до профи ».

Voir le cours