Maison >développement back-end >Tutoriel Python >Pourquoi Python 2.x interprète-t-il les nombres avec des zéros non significatifs comme octaux ?
Décoder les mystérieux nombres « 0 » en tête en Python
Lorsque vous tapez de petits entiers avec un zéro non significatif dans Python 2.7.3, ils donnent des résultats inattendus, tels que :
>>> 011 9 >>> 0100 64 >>> 027 23
Cette bizarrerie découle de la façon dont Python interprète les nombres préfixés avec "0". Dans Python 2.x, ces nombres sont considérés comme des entiers octaux (base 8).
Dévoilement des nombres octaux
Dans le système de nombres octaux, chaque chiffre représente des puissances de 8. Par exemple :
Le moderne de Python 3 Approche
Contrairement à Python 2.7.3, Python 3.0 ne reconnaît pas les nombres commençant par « 0 » comme des entiers octaux et génère à la place une erreur. Pour représenter les nombres octaux en Python 3, il faut utiliser le préfixe "0o", par exemple :
>>> 0o11 9 >>> 0o100 64 >>> 0o27 23
Legacy Support in Python 2.x
Python 2. x versions >= 2.6 prennent en charge à la fois l'ancien format (en début de "0") et le nouveau format (en début de "0o") pour nombres octaux, offrant une compatibilité descendante.
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!