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 :
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!