Los tipos de datos numéricos almacenan valores numéricos. Son tipos de datos inmutables, lo que significa que cambiar el valor de un tipo de datos numérico da como resultado un objeto recién asignado.
Los diferentes tipos de tipos de datos numéricos son:
- En t
- flotar
- complejo
Veamos cada uno de ellos:
tipo entero
int (Enteros) son el número entero, incluidos los números negativos pero no las fracciones. En Python, no hay límite para la longitud de un valor entero.
Ejemplo 1: Creando int y comprobando el tipo
Python3
num = -8 # print the data type print(type(num))
Producción:
<class 'int'>
Ejemplo 2: Realización de operaciones aritméticas en tipo int
Python3
a = 5 b = 6 # Addition c = a + b print("Addition:",c) d = 9 e = 6 # Subtraction f = d - e print("Subtraction:",f) g = 8 h = 2 # Division i = g // h print("Division:",i) j = 3 k = 5 # Multiplication l = j * k print("Multiplication:",l) m = 25 n = 5 # Modulus o = m % n print("Modulus:",o) p = 6 q = 2 # Exponent r = p ** q print("Exponent:",r)
Producción:
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 36
tipo flotante
Este es un número real con representación de coma flotante. Se especifica mediante un punto decimal. Opcionalmente, se puede agregar el carácter e o E seguido de un número entero positivo o negativo para especificar la notación científica. . Algunos ejemplos de números que se representan como flotantes son 0,5 y -7,823457.
Se pueden crear directamente ingresando un número con un punto decimal o usando operaciones como la división de números enteros. Los ceros adicionales presentes al final del número se ignoran automáticamente.
Ejemplo 1: Creando float y comprobando el tipo
Python3
num = 3/4 # print the data type print(type(num))
Producción:
<class 'float'>
Como hemos visto, dividir dos enteros cualesquiera produce un flotante.
También se produce un flotante ejecutando una operación en dos flotantes, o un flotante y un entero.
Python3
num = 6 * 7.0 print(type(num))
Producción:
<class 'float'>
Ejemplo 2: Realización de operaciones aritméticas en tipo flotante
Python3
a = 5.5 b = 3.2 # Addition c = a + b print("Addition:", c) # Subtraction c = a-b print("Subtraction:", c) # Division c = a/b print("Division:", c) # Multiplication c = a*b print("Multiplication:", c)
Addition: 8.7 Subtraction: 2.3 Division: 1.71875 Multiplication: 17.6
Nota: La precisión de un número de punto flotante es solo hasta 15 lugares decimales, el lugar 16 puede ser inexacto.
tipo complejo
Un número complejo es un número que consta de las partes real e imaginaria. Por ejemplo, 2 + 3j es un número complejo donde 2 es el componente real y 3 multiplicado por j es una parte imaginaria.
Ejemplo 1: creación de tipo complejo y comprobación
Python3
num = 6 + 9j print(type(num))
Producción:
<class 'complex'>
Ejemplo 2: Realización de operaciones aritméticas en tipo complejo
Python3
a = 1 + 5j b = 2 + 3j # Addition c = a + b print("Addition:",c) d = 1 + 5j e = 2 - 3j # Subtraction f = d - e print("Subtraction:",f) g = 1 + 5j h = 2 + 3j # Division i = g / h print("Division:",i) j = 1 + 5j k = 2 + 3j # Multiplication l = j * k print("Multiplication:",l)
Producción:
Addition: (3+8j) Subtraction: (-1+8j) Division: (1.307692307692308+0.5384615384615384j) Multiplication: (-13+13j)
Tipo Conversión entre números
Podemos convertir un número a la otra forma mediante dos métodos:
- Uso de operaciones aritméticas: podemos usar operaciones como la suma y la resta para cambiar el tipo de número implícitamente (automáticamente), si uno de los operandos es flotante. Este método no funciona para números complejos.
Ejemplo: conversión de tipo mediante operaciones aritméticas
Python3
a = 1.6 b = 5 c = a + b print(c)
Producción:
6.6
- Uso de funciones integradas: también podemos usar funciones integradas como int(), float() y complex() para convertir explícitamente en diferentes tipos.
Ejemplo: conversión de tipos usando funciones integradas
Python3
a = 2 print(float(a)) b = 5.6 print(int(b)) c = '3' print(type(int(c))) d = '5.6' print(type(float(c))) e = 5 print(complex(e)) f = 6.5 print(complex(f))
Producción:
2.0 5 <class 'int'> <class 'float'> (5+0j) (6.5+0j)
Cuando convertimos float a int, la parte decimal se trunca.
Nota:
- No podemos convertir un número de tipo de datos complejo en números de tipo de datos int y float.
- No podemos aplicar funciones integradas complejas en strings.
Números decimales en Python
Las operaciones aritméticas en el número flotante pueden dar algunos resultados inesperados. Consideremos un caso en el que queremos sumar 1.1 a 2.2. Todos deben preguntarse si el resultado de esta operación debería ser 3.3, pero veamos el resultado que da Python.
Ejemplo:
Python3
a = 1.1 b = 2.2 c = a+b print(c)
Producción:
3.3000000000000003
Puede que el resultado sea inesperado. Consideremos otro caso donde restaremos 1.2 y 1.0. De nuevo, esperamos que el resultado sea 0.2, pero veamos el resultado proporcionado por Python.
Ejemplo:
Python3
a = 1.2 b = 1.0 c = a-b print(c)
Producción:
0.19999999999999996
Todos ustedes deben estar pensando que algo anda mal con Python, pero no es así. Esto tiene poco que ver con Python y mucho más con la forma en que la plataforma subyacente maneja los números de punto flotante. Es un caso normal que se encuentra cuando se manejan números de coma flotante internamente en un sistema. Es un problema causado por la representación interna de números de punto flotante, que utiliza un número fijo de dígitos binarios para representar un número decimal. Es difícil representar algunos números decimales en binario, por lo que en muchos casos conduce a pequeños errores de redondeo.
En este caso, tomando como ejemplo 1.2, la representación de 0.2 en binario es 0.00110011001100110011001100…… y así sucesivamente. Es difícil almacenar internamente este número decimal infinito. Normalmente, el valor de un objeto flotante se almacena en punto flotante binario con una precisión fija (normalmente 53 bits). Entonces representamos 1.2 internamente como,
1.0011001100110011001100110011001100110011001100110011
Que es exactamente igual a:
1.1999999999999999555910790149937383830547332763671875
Para tales casos, el módulo decimal de Python viene al rescate. Como se indicó anteriormente, la precisión del número de coma flotante es solo de hasta 15 lugares, pero en el número decimal, la precisión la define el usuario. Realiza las operaciones con los números de coma flotante de la misma manera que aprendimos en la escuela. Veamos los dos ejemplos anteriores e intentemos resolverlos usando el número decimal.
Ejemplo:
Python3
import decimal a = decimal.Decimal('1.1') b = decimal.Decimal('2.2') c = a+b print(c)
3.3
Podemos usar el módulo decimal para los casos:
- Cuando queremos definir la precisión requerida por nuestra cuenta
- Para aplicaciones financieras que necesitan representaciones decimales precisas
Nota: Para obtener más información sobre los números decimales en Python y las funciones proporcionadas por este módulo, consulte Funciones decimales en Python
Números aleatorios en Python
Python proporciona un módulo aleatorio para generar números pseudoaleatorios. Este módulo puede crear números aleatorios, seleccionar un elemento aleatorio de una secuencia en Python, etc.
Ejemplo 1: Crear valor aleatorio
Python3
import random print(random.random())
0.9867200671824407
Ejemplo 2: Seleccionar un elemento aleatorio de una string o lista
Python3
import random s = 'geeksforgeeks' L = [1, 2 ,3, 5, 6, 7, 7, 8, 0] print(random.choice(s)) print(random.choice(L))
f 0
Nota: para obtener más información sobre números aleatorios, consulte nuestro tutorial de números aleatorios.
Python Matemáticas
El módulo matemático de Python ayuda a realizar diferentes operaciones matemáticas, trigonometría, estadística, probabilidad, logaritmos, etc.
Ejemplo:
Python3
# importing "math" for mathematical operations import math a = 3.5 # returning the ceil of 3.5 print ("The ceil of 3.5 is : ", end="") print (math.ceil(a)) # returning the floor of 3.5 print ("The floor of 3.5 is : ", end="") print (math.floor(a)) # find the power print ("The value of 3.5**2 is : ",end="") print (pow(a,2)) # returning the log2 of 16 print ("The value of log2 of 3.5 is : ", end="") print (math.log2(a)) # print the square root of 3.5 print ("The value of sqrt of 3.5 is : ", end="") print(math.sqrt(a)) # returning the value of sine of 3.5 print ("The value of sine of 3.5 is : ", end="") print (math.sin(a))
The ceil of 3.5 is : 4 The floor of 3.5 is : 3 The value of 3.5**2 is : 12.25 The value of log2 of 3.5 is : 1.8073549220576042 The value of sqrt of 3.5 is : 1.8708286933869707 The value of sine of 3.5 is : -0.35078322768961984
Nota: Para obtener más información sobre el módulo matemático de Python, consulte nuestro tutorial del módulo matemático.