Maison > développement back-end > Tutoriel Python > Pourquoi les zéros non significatifs dans Python 2.x produisent-ils parfois des valeurs entières inattendues ?

Pourquoi les zéros non significatifs dans Python 2.x produisent-ils parfois des valeurs entières inattendues ?

Patricia Arquette
Libérer: 2024-11-19 18:34:02
original
676 Les gens l'ont consulté

Why Do Leading Zeros in Python 2.x Sometimes Produce Unexpected Integer Values?

Les curieuses constantes octales de Python

Lors de l'utilisation de petits entiers avec un zéro non significatif dans les versions Python 2.x antérieures à 2.6, des résultats inattendus peuvent survenir . Ces nombres entiers sont interprétés comme des nombres octaux, un système de base numérique différent du système décimal standard.

Notation octale expliquée

En notation octale, la base est 8 au lieu de 10. Chaque chiffre représente une puissance de 8. Par exemple, dans le nombre 011 :

  • 1 représente 1 * 8¹ (8)
  • 1 représente 1 * 8⁰ (1)

Ainsi, 011 est égal à 9 en décimal (8 1 = 9). De même :

  • 0100 = 1 8² 0 8¹ 0 * 8⁰ = 64
  • 027 = 2 8¹ 7 8⁰ = 23

Python 3 et constantes octales

Dans Python 3, les constantes octales nécessitent un préfixe explicite, 0o, pour les distinguer des entiers décimaux. Ainsi, 011 de Python 2.x s'écrirait 0o11 dans Python 3.

Vérification de type

Malgré leur comportement inhabituel, ces constantes octales restent des entiers en Python :

>>> type(027)
<class 'int'>
Copier après la connexion

Pratique des constantes octales

Bien que la notation octale était courante aux débuts de l'informatique, elle est rarement utilisée aujourd'hui. La notation décimale ou hexadécimale est généralement préférée pour des raisons de lisibilité et de compatibilité. Il est cependant important de connaître les constantes octales dans Python 2.x pour comprendre leurs effets potentiels sur le comportement du code.

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