Números de Python

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)
Producción

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: 

  1. No podemos convertir un número de tipo de datos complejo en números de tipo de datos int y float.
  2. 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)
Producción

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())
Producción

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))
Producción

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))
Producción

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.

Publicación traducida automáticamente

Artículo escrito por ankthon y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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