"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi Python 3 effectue-t-il une division à virgule flottante au lieu d'une division entière?

Pourquoi Python 3 effectue-t-il une division à virgule flottante au lieu d'une division entière?

Publié le 2025-03-23
Parcourir:768

Why Does Python 3 Perform Floating-Point Division Instead of Integer Division?

Pourquoi Python effectue une division Floating-point pour la division Integer

dans les versions récentes de Python (3 vers l'avant), la division Integer (division deux entiers) donne un flotteur au lieu d'un entier. Ce comportement diffère des versions antérieures, qui favorisaient les résultats entiers pour les opérandes entiers.

Considérez la division suivante dans Python 3:

>>> 2 / 2
1.0

Ce résultat surprenant peut provoquer la confusion, surtout si vous êtes habitué aux anciennes versions Python.

La raison derrière le changement

La raison pour ce changement est documentée dans PEP-238: changeant l'opérateur de division. La proposition destinée à:

  • introduire une division de plancher sans ambiguïté, indiqué par l'opérateur //.
  • Éliminer le potentiel de conversions de type involontaire et d'erreurs de randonnée avec des opérands de type mixte. Python Code:

Si vous avez besoin d'une division Integer (arrondi vers zéro), utilisez l'opérateur // explicitement.

Si vous vous attendez à un résultat flottant, le casting est inutile. clairement. Résultat = 2 // 2 # 1 # Division flottante Résultat = 2/2 # 1.0

    Ressources supplémentaires
  • [pep-238: modification de l'opérateur de division] (https://www.python.org/dev/peps/pep-0238/)
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3