Tutorial de Python - Números y Conversión

  1. Tipo de datos de números en Python
  2. Conversión de tipo de número Python
  3. Números fraccionarios en Python

En esta sección, aprenderás el tipo de datos de los números en la programación en Python y las operaciones matemáticas que puedes realizar con estos números. Además, aprenderás cómo convertir de un tipo de datos a otro.

Tipo de datos de números en Python

El tipo de datos de número en Python incluye:

  1. Enteros
  2. Números de coma flotante
  3. Números complejos

Los números enteros no tienen ninguna parte fraccionaria o decimal.

Los números en coma flotante contienen una parte decimal.

Los números complejos tienen una parte real y una parte imaginaria. Los números complejos tienen la forma x + yj, donde x es la parte real y yj es la parte imaginaria.

La función type() se usa para obtener el tipo de datos de una variable o, más generalmente, de un objeto. La función isinstancia() se utiliza para comprobar si la variable pertenece a una clase particular o no.

x = 3
print("type of", x, "is", type(x))
x = 3.23
print("type of", x, "is", type(x))
x = 3+3j
print("is", x, "a complex number:", isinstance(x, complex))

Resultado:

type of 3 is <class 'int'>
type of 3.23 is <class 'float'>
is (3+3j) a complex number: True

Los números enteros pueden tener cualquier longitud, pero los números de coma flotante sólo deben tener un máximo de 15 decimales.

Los números enteros también pueden ser representados en formato binario (base 2), hexadecimal (base 16) y octal (base 8). Esto se puede hacer usando prefijos. Consulte la siguiente tabla:

Sistema de números Prefijos
 Binario  0b o 0B
 Octal  0o o 0O
 Hexadecimal  0x o 0X

Ejemplo:

>>> print(0b110)
6
>>> print(0xFA)
250
>>> print(0o12)
10

Conversión de tipo de número Python

Conversión de tipos implícitos

Si añades un número de tipo float y otro número de tipo int, el tipo del resultado será float. Aquí int se convierte en float implícitamente.

>>> 2 + 3.0
5.0

Aquí, 2 es un entero que se convierte en float implícitamente y tienes 2.0.

Esta conversión de tipo implícito también se llama coerción.

Conversión de tipo explícito

También puede hacer una conversión explícita de los tipos de datos numéricos usando funciones como int(), float(), str(), etc.

>>> x = 8
>>> print("Value of x = ", int(x))
Value of x =  8
>>> print("Converted Value of x = ", float(x))
Converted Value of x = 8.0

Si desea convertir el valor float a valor int entonces la parte decimal será truncada.

Números fraccionarios en Python

Un módulo llamado fractions se utiliza para realizar operaciones que implican un número fraccionario. El módulo fractions puede representar un número fraccionario como numerador/denominador.

import fractions
print(fractions.Fraction(0.5))
1/2

La función Fraction del módulo fractions convertirá el decimal en fracciones y entonces podrás realizar operaciones matemáticas sobre estas fracciones:

print(Fraction(0.5) + Fraction(1.5))
print(Fraction(0.5) * Fraction(1.5))
print(Fraction(0.5) / Fraction(1.5))

Resultado:

2
3/4
1/3