Saltar al contenido

¿Qué significan los números que comienzan con 0 en Python?

Pudiera darse el caso de que halles alguna incompatibilidad con tu código o trabajo, recuerda probar siempre en un entorno de testing antes añadir el código al trabajo final.

Solución:

Estos son números representados en base 8 (números octales). Algunos ejemplos:

Python 2 (formato antiguo)

Nota: estos formularios solo funcionan en Python 2.x.

011 es igual a 1⋅8¹ + 1⋅8⁰ = 9,

0100 es igual a 1⋅8² + 0⋅8¹ + 0⋅8⁰ = 64,

027 es igual a 2⋅8¹ + 7⋅8⁰ = 16 + 7 = 23.

Python 3 (nuevo formato)

En Python 3, uno debe usar 0o en lugar de solo 0 para indicar una constante octal, por ejemplo 0o11 o 0o27etc. Las versiones de Python 2.x >= 2.6 admiten tanto el formato nuevo como el antiguo.

0o11 es igual a 1⋅8¹ + 1⋅8⁰ = 9,

0o100 es igual a 1⋅8² + 0⋅8¹ + 0⋅8⁰ = 64,

0o27 es igual a 2⋅8¹ + 7⋅8⁰ = 16 + 7 = 23.

En Python 2 (y algunos lenguajes de programación más), estos representan números octales.

En Python 3, 011 ya no funciona y usarías 0o11 en cambio.

En respuesta a editar: y son enteros regulares. Simplemente se especifican de manera diferente; y Python los convierte automáticamente a una representación interna de enteros (que en realidad es base-2, por lo que ambos 9 y 011 se convierten internamente en 0b1001).

Ambas versiones de Python 2 y 3 entienden octal escrito con ‘0o’ y ‘0O’ (o mayúscula), así que tenga el hábito de usar if cuando trabaje con Python 2.x también.

Solo use ceros iniciales en números en cadenas.

Puede convertir enteros de cualquiera de los otros sistemas base con int().

>>> int(0o20)

16

Si desea que su resultado se muestre con ceros a la izquierda, defínalo según esta respuesta: Mostrar número con ceros a la izquierda

Si alguna vez planea trabajar con códigos postales, es mejor tratarlos como cadenas en todos los sentidos.

Sección de Reseñas y Valoraciones

Si te ha resultado provechoso nuestro artículo, sería de mucha ayuda si lo compartieras con el resto juniors de este modo contrubuyes a extender este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *