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 ?

Pourquoi Python 2.x interprète-t-il les nombres avec des zéros non significatifs comme octaux ?

Patricia Arquette
Libérer: 2024-11-26 12:08:09
original
613 Les gens l'ont consulté

Why Does Python 2.x Interpret Numbers with Leading Zeros as Octal?

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
Copier après la connexion

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 :

  • 011 représente 1 x 8¹ 1 x 8⁰ = 9
  • 0100 représente 1 x 8² 0 x 8¹ 0 x 8⁰ = 64
  • 027 représente 2 x 8¹ 7 x 8⁰ = 16 7 = 23

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
Copier après la connexion

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!

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