Logo Studenta

3 6 Tipo números Materiales del entrenamiento de programación en Python - Nivel básico

¡Estudia con miles de materiales!

Vista previa del material en texto

3.6. Tipo números
Estos tipos de datos se crean mediante literales numéricos y se devuelven como resultados por operadores
aritméticos y funciones aritméticas integradas. Los objetos numéricos son inmutables; Una vez creado su
valor nunca cambia.
Por supuesto, los números de Python están fuertemente relacionados con los números matemáticos, pero
están sujetos a las limitaciones de la representación numérica en las computadoras.
Python distingue entre enteros, números de punto flotante y números complejos:
Clase Tipo Notas Ejemplo
int Números Número entero con precisión fija. 42
long Números Número entero en caso de overflow. 42L ó 456966786151987643L
float Números Coma flotante de doble precisión. 3.1415927
complex Números Parte real y parte imaginaria j. (4.5 + 3j)
3.6.1. Enteros
Los números enteros son aquellos que no tienen decimales, tanto positivos como negativos (además del
cero). En Python se pueden representar mediante el tipo int (de integer, entero) o el tipo long (largo). La
única diferencia es que el tipo long permite almacenarnúmeros más grandes. Es aconsejable no utilizar el
tipo long a menos que sea necesario, para no malgastar memoria.
El tipo int de Python se implementa a bajo nivel mediante un tipo long de C. Y dado que Python utiliza C
por debajo, como C, y a diferencia de Java, el rango de los valores que puede representar depende de la
plataforma. En la mayor parte de las máquinas el long de C se almacena utilizando 32 bits, es decir, me-
diante el uso de una variable de tipo int de Python puede almacenar números de -231 a 231 – 1, o lo que es
lo mismo, de -2.147.483.648 a 2.147.483.647. En plataformas de 64 bits, el rango es de
-9.223.372.036.854.775.808 hasta 9.223.372.036.854.775.807.
3.6.1.1. Ejemplo de enteros
A continuación, se presentan un ejemplo de su uso:
Ejemplo de definición de un tipo entero
print (entero, type(entero))
3.6.2. Enteros long
El tipo long de Python permite almacenar números de cualquier precisión, limitado por la memoria dispo-
nible en la máquina.
Al asignar un número a una variable esta pasará a tener tipo int, a menos que el número sea tan grande
como para requerir el uso del tipo long.
>>> entero = 23
>>> type(entero)
<type 'int'>
 v: latest 
3.6. Tipo números — Materiales del entrenamiento de programación en ... https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tip...
1 of 5 5/21/2022, 12:08 AM
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#tipo-numeros
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#tipo-numeros
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#enteros
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#enteros
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#ejemplo-de-enteros
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#ejemplo-de-enteros
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#enteros-long
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#enteros-long
También puede indicar a Python que un número se almacene usando long añadiendo una L al final:
>>> entero = 23L
>>> type(entero)
<type 'long'>
El literal que se asigna a la variable también se puede expresar como un octal, anteponiendo un cero:
# 027 octal = 23 en base 10
entero = 027
o bien en hexadecimal, anteponiendo un 0x:
# 0x17 hexadecimal = 23 en base 10
entero = 0x17
3.6.2.1. Ejemplo de enteros long
A continuación, se presentan un ejemplo de su uso:
Ejemplo de definición de un tipo entero long
print (float_1, type(float_1))
print (float_2, type(float_2))
3.6.3. Coma flotante
Los números reales son los que tienen decimales. En Python se expresan mediante el tipo float. En otros
lenguajes de programación, como C, tiene también el tipo double, similar a float pero de mayor precisión
(double = doble precisión).
Python, sin embargo, implementa su tipo float a bajo nivel mediante una variable de tipo double de C, es
decir, utilizando 64 bits, luego en Python siempre se utiliza doble precisión, y en concreto se sigue el están-
dar IEEE 754: 1 bit para el signo, 11 para el exponente, y 52 para la mantisa. Esto significa que los valores
que puede representar van desde ±2,2250738585072020 x 10-308 hasta ±1,7976931348623157×10308.
La mayor parte de los lenguajes de programación siguen el mismo esquema para la representación interna.
Pero como muchos sabréis esta tiene sus limitaciones, impuestas por el hardware.
Por eso desde Python 2.4 cuenta también con un nuevo tipo Decimal, para el caso de que se necesite repre-
sentar fracciones de forma más precisa. Sin embargo este tipo está fuera del alcance de este tutorial, y sólo
es necesario para el ámbito de la programación científica y otros relacionados.
Para aplicaciones normales puedes utilizar el tipo float sin miedo, como ha venido haciéndose desde hace
años, aunque teniendo en cuenta que los números en coma flotante no son precisos (ni en este ni en otros
lenguajes de programación).
Para representar un número real en Python se escribe primero la parte entera, seguido de un punto y por
último la parte decimal.
real = 0.2703
También se puede utilizar notación científica, y añadir una e (de exponente) para indicar un exponente en
base 10. Por ejemplo:
 v: latest 
3.6. Tipo números — Materiales del entrenamiento de programación en ... https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tip...
2 of 5 5/21/2022, 12:08 AM
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#ejemplo-de-enteros-long
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#ejemplo-de-enteros-long
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#coma-flotante
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#coma-flotante
https://www.python.org/dev/peps/pep-0327/
https://www.python.org/dev/peps/pep-0327/
real = 0.1e-3
sería equivalente a 0.1 x 10-3 = 0.1 x 0.001 = 0.0001
3.6.3.1. Ejemplo de enteros float
A continuación, se presentan un ejemplo de su uso:
Ejemplo de definición de tipo entero coma flotante
# Este número tiene un exponente en base 10
# es decir, multiplicado por 10 a la N
real = 0.56e-3
print (real, type(real))
Ejemplo de definición de tipo entero coma flotante con exponente en base 10
print (complejo, complejo.imag, complejo.real, type(complejo))
3.6.4. Complejos
Los números complejos son aquellos que tienen parte imaginaria. Si no conocías de su existencia, es más
que probable que nunca lo vayas a necesitar, por lo que puede saltarte este apartado tranquilamente.
De hecho la mayor parte de lenguajes de programación carecen de este tipo, aunque sea muy utilizado por
ingenieros y científicos en general.
En el caso de que necesite utilizar números complejos, o simplemente tiene curiosidad, este tipo, llamado
complex en Python, también se almacena usando coma flotante, debido a que estos números son una ex-
tensión de los números reales.
En concreto se almacena en una estructura de C, compuesta por dos variables de tipo double, sirviendo
una de ellas para almacenar la parte real y la otra para la parte imaginaria.
Los números complejos en Python se representan de la siguiente forma:
complejo = 2.1 + 7.8j
3.6.4.1. Ejemplo de enteros complex
A continuación, se presentan un ejemplo de su uso:
Ejemplo de definición de tipo entero complejos
3.6.5. Convertir a numéricos
Para convertir a tipos numéricos debe usar las siguientes funciones integradas en el interprete Python:
• La función int() devuelve un tipo de datos número entero.
• La función long() devuelve un tipo de datos número entero long.
• La función float() devuelve un tipo dedatos número entero float.
• La función complex() devuelve un tipo de datos número complejo.
 v: latest 
3.6. Tipo números — Materiales del entrenamiento de programación en ... https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tip...
3 of 5 5/21/2022, 12:08 AM
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#ejemplo-de-enteros-float
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#ejemplo-de-enteros-float
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#complejos
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#complejos
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#ejemplo-de-enteros-complex
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#ejemplo-de-enteros-complex
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#convertir-a-numericos
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#convertir-a-numericos
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-numericos
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-numericos
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-numericos
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-builtins
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-builtins
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-builtins
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-int
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-int
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-int
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-num-entero
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-num-entero
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-num-entero
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-long
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-long
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-long
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-num-entero-long
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-num-entero-long
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-num-entero-long
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-float
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-float
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-float
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-num-float
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-num-float
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-num-float
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-complex
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-complex
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-complex
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-num-complex
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-num-complex
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#python-num-complex
3.6.6. Ayuda integrada
Usted puede consultar toda la documentación disponible sobre las números enteros desde la consola
interactiva de la siguiente forma:
>>> help(int)
Para salir de esa ayuda presione la tecla q.
Usted puede consultar toda la documentación disponible sobre las números enteros long desde la con-
sola interactiva de la siguiente forma:
>>> help(long)
Para salir de esa ayuda presione la tecla q.
Usted puede consultar toda la documentación disponible sobre las números coma flotante desde la
consola interactiva de la siguiente forma:
>>> help(float)
Para salir de esa ayuda presione la tecla q.
Usted puede consultar toda la documentación disponible sobre las números complejos desde la consola
interactiva de la siguiente forma:
>>> help(complex)
Para salir de esa ayuda presione la tecla q.
Truco:
Para más información consulte las funciones integradas para operaciones numéricas.
Importante:
Usted puede descargar el código usado en esta sección haciendo clic aquí.
Truco:
Para ejecutar el código tipo_numericos.py, abra una consola de comando, acceda al directorio
donde se encuentra el mismo, y ejecute el siguiente comando:
python tipo_numericos.py
Ver también:
Consulte la sección de lecturas suplementarias del entrenamiento para ampliar su conocimiento
en esta temática.
 v: latest 
3.6. Tipo números — Materiales del entrenamiento de programación en ... https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tip...
4 of 5 5/21/2022, 12:08 AM
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#ayuda-integrada
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tipo_numericos.html#ayuda-integrada
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivohttps://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion2/interactivo.html#python-interactivo
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-builtins-numericas
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-builtins-numericas
https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion5/funciones_integradas.html#python-fun-builtins-numericas
https://entrenamiento-python-basico.readthedocs.io/es/latest/_downloads/c8a9f42e845918e33cfa13b8dcf30c64/tipo_numericos.py
https://entrenamiento-python-basico.readthedocs.io/es/latest/_downloads/c8a9f42e845918e33cfa13b8dcf30c64/tipo_numericos.py
https://entrenamiento-python-basico.readthedocs.io/es/latest/_downloads/c8a9f42e845918e33cfa13b8dcf30c64/tipo_numericos.py
https://entrenamiento-python-basico.readthedocs.io/es/latest/_downloads/c8a9f42e845918e33cfa13b8dcf30c64/tipo_numericos.py
https://entrenamiento-python-basico.readthedocs.io/es/latest/lecturas.html#lectura-extras-sesion3
https://entrenamiento-python-basico.readthedocs.io/es/latest/lecturas.html#lectura-extras-sesion3
https://entrenamiento-python-basico.readthedocs.io/es/latest/lecturas.html#lectura-extras-sesion3
Love Documentation? Write the Docs Portland is
a 3-day virtual docs event. May 22-24.
Community Ad
 v: latest 
3.6. Tipo números — Materiales del entrenamiento de programación en ... https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion3/tip...
5 of 5 5/21/2022, 12:08 AM
https://server.ethicalads.io/proxy/click/2724/867d4aa7-e27e-492d-b5f4-49babf367e99/
https://server.ethicalads.io/proxy/click/2724/867d4aa7-e27e-492d-b5f4-49babf367e99/
https://server.ethicalads.io/proxy/click/2724/867d4aa7-e27e-492d-b5f4-49babf367e99/
https://server.ethicalads.io/proxy/click/2724/867d4aa7-e27e-492d-b5f4-49babf367e99/
https://docs.readthedocs.io/en/latest/advertising/ethical-advertising.html#community-ads
https://docs.readthedocs.io/en/latest/advertising/ethical-advertising.html#community-ads

Continuar navegando