Du plus fort au plus faible
() > ** > * / // % > + -
La puissance ** est plus forte que * et /. À priorité égale, Python lit de gauche à droite.
Les opérateurs, les fonctions de calcul, le module math et les conversions de nombres
Les sept signes de calcul de base. Attention aux deux barres // et au pourcentage % : ce ne sont pas une division ni un pourcentage ordinaires.
| Opérateur | Nom | Exemple → résultat |
|---|---|---|
| + | addition | 7 + 2 → 9 |
| - | soustraction | 7 - 2 → 5 |
| * | multiplication | 7 * 2 → 14 |
| / | division (toujours à virgule) | 7 / 2 → 3.5 |
| // | division entière (quotient) | 7 // 2 → 3 |
| % | modulo (le reste) | 7 % 2 → 1 |
| ** | puissance (exposant) | 7 ** 2 → 49 |
À quoi sert % ? Tester si un nombre est pair (n % 2 == 0), faire un cycle, ou trouver le reste d'une division. 17 % 5 → 2 car 17 = 3×5 + 2.
Python calcule dans un ordre précis, comme en mathématiques. Les parenthèses passent toujours en premier ; en cas de doute, mets des parenthèses.
() > ** > * / // % > + -
La puissance ** est plus forte que * et /. À priorité égale, Python lit de gauche à droite.
-2 ** 2
La puissance s'applique avant le signe moins. Pour mettre un nombre négatif au carré, encadre-le de parenthèses.
Celles-ci marchent sans rien importer. Les plus utiles pour les calculs de tous les jours.
abs() · round()
round(x, n) arrondit à n décimales ; sans n, à l'entier le plus proche.
pow() · divmod()
divmod(a, b) donne d'un coup a // b et a % b. Pratique pour convertir des secondes en minutes + secondes.
sum() · min() · max()
La moyenne ? sum(notes) / len(notes). min et max acceptent aussi plusieurs arguments : max(3, 9, 5).
math : tout le restePour les racines, la trigonométrie, les logarithmes et les constantes. On l'importe une fois tout en haut du fichier, puis on écrit math.fonction().
sqrt · floor · ceil · trunc
floor descend, ceil monte, trunc coupe net (vers zéro). round, lui, va au plus proche.
math.pi · math.e · math.inf
Ce sont des valeurs, pas des fonctions : pas de parenthèses. aire = math.pi * rayon ** 2.
pow · log · log10 · exp
math.pow renvoie toujours un float ; pour rester en entier, garde l'opérateur **.
sin · cos · tan · radians
Les fonctions trigo travaillent en radians, pas en degrés. Convertis d'abord avec math.radians().
factorial · gcd
Aussi disponible : math.isqrt() (racine entière) et math.hypot(a, b) (hypoténuse).
int et floatUn entier (int) n'a pas de virgule ; un flottant (float) en a une. On passe de l'un à l'autre avec les fonctions qui portent le nom du type.
| On écrit | Effet | Exemple → résultat |
|---|---|---|
| int(x) | en entier (coupe la virgule, vers zéro) | int(3.9) → 3 |
| int(x) | même sur un négatif : vers zéro | int(-3.9) → -3 |
| float(x) | en nombre à virgule | float(5) → 5.0 |
| int("42") | un texte d'entier devient un entier | int("42") → 42 |
| float("3.5") | un texte à virgule devient un float | float("3.5") → 3.5 |
int() ne fait PAS d'arrondi : il coupe la virgule (int(3.9) → 3, pas 4). Pour arrondir au plus proche, utilise round(). Pour descendre toujours, math.floor().
Cinq surprises classiques quand on calcule en Python.
La simple barre / renvoie un float même si ça tombe juste. Pour un entier, utilise //.
Si tu veux le nombre le plus proche, c'est round(). int() jette simplement la partie décimale.
Les float sont des approximations. Pour comparer ou afficher, arrondis avec round().
Jamais == sur des float : l'erreur d'arrondi le fait mentir. Compare une proximité avec math.isclose() (ou abs(a - b) < seuil).
Python refuse la division par zéro. Vérifie le diviseur avec un if avant de calculer.
.mean() donne un float, .sum() garde le typeSur un tableau numpy, .mean() renvoie toujours un float, mais .sum() conserve le type du tableau : des entiers restent entiers (et un int64 peut déborder en silence), des flottants restent flottants.