12k
All articles

Que signifie `//` en Python ? (Avec exemples)

L'opérateur // en Python effectue une division entière, arrondissant vers le bas. Ce guide montre son usage avec les flottants, les boucles et la pagination.

OpenReplay Team
OpenReplay Team
Que signifie `//` en Python ? (Avec exemples)

En Python, // est l’opérateur de division entière. Il divise deux nombres et arrondit le résultat à l’entier inférieur le plus proche.

Par exemple :

print(10 // 3)  # Output: 3
print(-10 // 3) # Output: -4

Points clés

  • // effectue une division entière, ce qui signifie qu’il arrondit à l’entier inférieur le résultat.
  • Fonctionne avec les entiers et les nombres à virgule flottante.
  • Arrondit toujours vers l’infini négatif (-∞).

Comprendre la division entière (//)

L’opérateur // divise deux nombres mais au lieu de renvoyer un résultat à virgule flottante, il tronque (arrondit à l’entier inférieur) le résultat à l’entier le plus proche.

Exemple :

print(7 // 2)   # Output: 3 (au lieu de 3.5)
print(-7 // 2)  # Output: -4 (arrondit vers -∞)

Comment // gère-t-il les nombres à virgule flottante ?

Même si l’un des opérandes est un float, le résultat reste arrondi à l’entier inférieur mais au format float :

print(7.0 // 2)   # Output: 3.0
print(-7.5 // 2)  # Output: -4.0

Différence entre / et //

Opérateur Description Exemple / Division normale (renvoie un float) 5 / 2 = 2.5 // Division entière (arrondit à l’entier inférieur) 5 // 2 = 2

Quand utiliser // ?

  • Lorsque vous n’avez besoin que de nombres entiers (par ex., pour compter des éléments).
  • Pour éviter les erreurs de précision des floats (par ex., pour indexer des tableaux).
  • Pour garantir des résultats entiers dans les boucles.

Exemple : Utilisation de // pour la pagination :

items_per_page = 10
total_items = 95

pages = total_items // items_per_page
print(pages)  # Output: 9

FAQ

Est-ce que `//` renvoie toujours un entier ?

Non, si l'un des opérandes est un float, le résultat est un float.

Pourquoi `-10 // 3` renvoie-t-il `-4` au lieu de `-3` ?

Parce que `//` arrondit vers l'infini négatif (`-∞`).

`//` est-il équivalent à `math.floor(a / b)` ?

Oui, `a // b` est équivalent à `math.floor(a / b)`.

Conclusion

L’opérateur // en Python effectue une division entière, arrondissant le résultat à l’entier inférieur le plus proche. Il est utile lorsqu’on travaille avec des calculs entiers, des boucles et de la pagination.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers

We use cookies to improve your experience. By using our site, you accept cookies.