Aide-mémoire Python
Rangé par ce qu'on cherche à faire. La syntaxe est dans les tables, à lire d'un coup d'œil ; les blocs au-dessous se modifient et s'exécutent, pour vérifier plutôt que croire.
Un brouillon, pour essayer tout de suite
Ce bloc ne sert à rien d'autre qu'à essayer. Effacer son contenu, écrire autre chose, relancer.
main.py
Sortie
>_ Prêt à exécuter…
Ranger une valeur
| Écrire | Ce que ça fait |
|---|---|
x = 5 | Un entier, type int. |
pi = 3.14 | Un nombre à virgule, type float. |
nom = "Ada" | Du texte, type str. |
actif = True | Un booléen, True ou False. |
type(x) | Donne le type d'une valeur. |
x, y = 1, 2 | Range deux valeurs d'un coup. |
x, y = y, x | Échange deux valeurs sans variable temporaire. |
Calculer
| Écrire | Ce que ça fait |
|---|---|
+ - * / | La division / rend toujours un nombre à virgule. |
// | Division entière : 7 // 2 vaut 3. |
% | Reste de la division : 7 % 2 vaut 1. |
** | Puissance : 2 ** 10 vaut 1024. |
abs(x) | Valeur absolue. |
round(x, 2) | Arrondir à deux décimales. |
min(a, b) max(a, b) | Le plus petit, le plus grand. |
sum(liste) | La somme des éléments. |
main.py
Sortie
>_ Prêt à exécuter…
Décider
| Écrire | Ce que ça fait |
|---|---|
if … : elif … : else : | Tester plusieurs cas, dans l'ordre. |
== != < > <= >= | Comparer. == compare, = range. |
and or not | Combiner des conditions. |
in | "a" in "chat" vaut True. |
x if cond else y | Choisir une valeur en une ligne. |
main.py
Sortie
>_ Prêt à exécuter…
Répéter
| Écrire | Ce que ça fait |
|---|---|
for i in range(5) | i prend 0, 1, 2, 3, 4. La borne haute est exclue. |
for i in range(2, 10, 3) | De 2 à 9, de trois en trois. |
for x in liste | Parcourt les éléments, pas les indices. |
for i, x in enumerate(liste) | Le rang et l'élément. |
while condition | Tant que la condition reste vraie. |
break continue | Sortir de la boucle, passer au tour suivant. |
main.py
Sortie
>_ Prêt à exécuter…
Ranger plusieurs valeurs
| Écrire | Ce que ça fait |
|---|---|
nombres = [1, 2, 3] | Une liste, ordonnée et modifiable. |
nombres[0] nombres[-1] | Le premier, le dernier. |
nombres[1:3] | Une tranche : du rang 1 au rang 2. |
nombres.append(4) | Ajouter à la fin. |
nombres.sort() | Trier sur place. sorted(nombres) rend une copie triée. |
len(nombres) | Le nombre d'éléments. |
eleve = {"nom": "Ada"} | Un dictionnaire : des clés vers des valeurs. |
eleve["nom"] | Accéder par la clé. |
eleve.get("age", 0) | Accéder sans planter si la clé manque. |
for c, v in eleve.items() | Parcourir les paires. |
main.py
Sortie
>_ Prêt à exécuter…
Travailler du texte
| Écrire | Ce que ça fait |
|---|---|
f"Bonjour {nom}" | Insérer une variable dans du texte. |
f"{x:.2f}" | Deux décimales. f"{x:>8}" cadre à droite sur 8 colonnes. |
s.upper() s.lower() | Changer la casse. |
s.strip() | Retirer les espaces au début et à la fin. |
s.split(",") | Découper en liste. |
",".join(liste) | Recoller une liste en texte. |
s.replace("a", "b") | Remplacer. |
"abc" in s | Chercher. |
main.py
Sortie
>_ Prêt à exécuter…
Écrire une fonction
| Écrire | Ce que ça fait |
|---|---|
def f(a, b): | Définir. Le corps est indenté. |
return x | Rendre une valeur et sortir. Sans return, la fonction rend None. |
def f(a, b=2) | Un paramètre par défaut, toujours après ceux qui n'en ont pas. |
f(b=3, a=1) | Appeler en nommant les paramètres. |
main.py
Sortie
>_ Prêt à exécuter…
Lire et écrire
| Écrire | Ce que ça fait |
|---|---|
print("x =", x) | Afficher. Les virgules ajoutent une espace. |
nom = input("Nom : ") | Lire une saisie. Rend toujours du texte. |
age = int(input()) | Convertir la saisie en entier. |
with open("f.txt") as f: | Ouvrir un fichier, fermé automatiquement à la sortie. |
for ligne in f: | Parcourir un fichier ligne par ligne. |
Ce qui se trompe le plus souvent
C'est la section qu'on vient consulter. La table résume, les blocs au-dessous démontrent.
| Le piège | Ce qu'il faut faire |
|---|---|
/ rend un flottant même quand ça tombe juste | // pour une division entière |
input() rend du texte, même pour un nombre | int(input()) ou float(input()) |
b = a sur une liste ne la copie pas | a.copy(), list(a) ou a[:] |
| Un paramètre par défaut modifiable est partagé | liste=None puis liste = liste or [] |
range(n) s'arrête à n - 1 | range(1, n + 1) pour aller jusqu'à n |
== sur des nombres à virgule | math.isclose(a, b) |
Les indices commencent à 0, le dernier est -1 | len(x) - 1 est le dernier rang |
Chaque bloc ci-dessous démontre l'un de ces points au lieu de le décrire.
main.py
Sortie
>_ Prêt à exécuter…
main.py
Sortie
>_ Prêt à exécuter…
main.py
Sortie
>_ Prêt à exécuter…
main.py
Sortie
>_ Prêt à exécuter…
Lire un message d'erreur
La dernière ligne donne le type et la cause, les lignes au-dessus donnent le chemin qui y a mené. NameError : un nom jamais défini, souvent une faute de frappe. TypeError : une opération entre deux types qui ne vont pas ensemble, souvent du texte et un nombre. IndexError : un rang au-delà du dernier. KeyError : une clé absente d'un dictionnaire. IndentationError : un décalage d'espaces.
Pour aller plus loin
Les chapitres qui développent chacun de ces points : Les bases de Python, Conditions et boucles, Les structures de données, Les fonctions, Lire et écrire des fichiers. Le piège des nombres à virgule est traité en entier dans Les nombres à virgule.
Version imprimable : les tables de syntaxe seules, sur une feuille.
Les autres aide-mémoire sont sur cette page, et les exercices dans Pratiquer.