Maison > développement back-end > Tutoriel Python > Pourquoi Python 3 effectue-t-il une division en virgule flottante au lieu d'une division entière ?

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

Barbara Streisand
Libérer: 2024-12-14 18:27:16
original
929 Les gens l'ont consulté

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

Pourquoi Python effectue une division à virgule flottante pour une division entière

Dans les versions récentes de Python (à partir de la version 3), la division entière (divisant deux entiers) donne un flottant au lieu de un entier. Ce comportement diffère des versions précédentes, qui privilégiaient les résultats entiers pour les opérandes entiers.

Considérez la division suivante dans Python 3 :

>>> 2 / 2
1.0
Copier après la connexion

Ce résultat surprenant peut prêter à confusion, surtout si vous êtes habitué aux anciennes versions de Python.

La raison derrière le changement

La justification de ce changement est documentée dans PEP-238 : Changer l'opérateur de division. La proposition visait à :

  • Introduire une division d'étage sans ambiguïté, désignée par l'opérateur //.
  • Éliminer le potentiel de conversions de type involontaires et d'erreurs d'aller-retour avec des opérandes de type mixte.

Implications pour votre code

Ce changement a plusieurs implications pour votre Code Python :

  • Si vous avez besoin d'une division entière (arrondie vers zéro), utilisez explicitement l'opérateur //.
  • Si vous attendez un résultat flottant, le casting n'est pas nécessaire.
  • Pour une lisibilité maximale, pensez à utiliser les opérateurs // et / judicieusement pour transmettre votre intention clairement.

Exemple :

# Explicit floor division
result = 2 // 2  # 1

# Float division
result = 2 / 2  # 1.0
Copier après la connexion

Ressources supplémentaires

  • [PEP-238 : Changer l'opérateur de division](https://www. python.org/dev/peps/pep-0238/)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal