Maison > développement back-end > Tutoriel Python > Pourquoi la division de Python 3 renvoie-t-elle un flottant au lieu d'un entier ?

Pourquoi la division de Python 3 renvoie-t-elle un flottant au lieu d'un entier ?

Linda Hamilton
Libérer: 2024-12-11 10:50:11
original
131 Les gens l'ont consulté

Why Does Python 3's Division Return a Float Instead of an Integer?

L'énigme de la division entière : pourquoi des flotteurs au lieu d'entiers ?

Le comportement récent de la division entière de Python, où elle produit un flottant plutôt qu'un entier, a suscité une certaine confusion parmi les développeurs. Cette transition marque une rupture par rapport aux versions précédentes qui renvoyaient des entiers pour la division entière.

Lors de la division de 2 par 2 dans Python 3, le résultat est 1,0, un nombre à virgule flottante. Ce comportement modifié peut surprendre ceux qui sont habitués aux versions antérieures où les opérations int/int produisaient des entiers.

La raison sous-jacente de ce changement provient de l'adoption par Python de l'opérateur de division d'étage //, qui renvoie sans ambiguïté le quotient entier. Pour préserver cette distinction, l'opérateur de division standard (/) a été modifié pour renvoyer un flottant.

Conséquences et solutions de contournement

Ce changement a des implications pour le code qui repose sur des nombres entiers. division. Les développeurs ont désormais deux options :

  • Utiliser l'opérateur de division d'étage // : Dans les cas où une division entière est souhaitée, l'opérateur // doit être utilisé explicitement.
  • Transformer le résultat en un entier : Alternativement, le résultat de la division peut être converti en un entier en utilisant la fonction int() pour obtenir la parole quotient.

Contexte historique

Il convient de noter que le comportement actuel est l'inversion d'un changement précédent dans Python 2.x, où la division était par défaut au sol division. Ce renversement a été motivé par le PEP-238, qui a introduit l'opérateur // pour une division d'étage sans ambiguïté et a modifié l'opérateur de division standard pour renvoyer un flottant.

Comprendre ces changements historiques est crucial pour les développeurs migrant à partir de versions antérieures de Python ou code de dépannage qui repose sur la division entière.

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