Dominando tipos de datos en Python: Guía práctica
Tipos de datos en Python
Esta guía recorre los tipos de datos principales en Python, ilustrando cómo funcionan y cómo convertir entre ellos.
Tipos de datos en Python
Cada valor en Python es un objeto, y cada objeto es una instancia de una clase que define su tipo. Comprender estos tipos es esencial para escribir código claro, eficiente y fiable.
A continuación cubrimos los tipos de datos más frecuentes: números, listas, tuplas, strings, conjuntos y diccionarios.
Números en Python
Los tipos numéricos de Python incluyen int, float y complex. Use type() para inspeccionar la clase de un valor y isinstance() para probar pertenencia a una jerarquía de clases.
a = 5
print(a, "es de tipo", type(a))
a = 2.0
print(a, "es de tipo", type(a))
a = 1+2j
print(a, "¿es número complejo?", isinstance(1+2j, complex))
Salida
5 es de tipo <class 'int'> 2.0 es de tipo <class 'float'> (1+2j) ¿es número complejo? True
Los enteros pueden ser arbitrariamente grandes, limitados solo por la memoria disponible. Los números de punto flotante son precisos hasta unos 15 decimales; por ejemplo, 1 es un entero mientras que 1.0 es un float.
Los números complejos siguen la forma x + yj, donde x es la parte real y y la parte imaginaria. Valores de muestra:
>>> a = 1234567890123456789
>>> a
1234567890123456789
>>> b = 0.1234567890123456789
>>> b
0.12345678901234568
>>> c = 1+2j
>>> c
(1+2j)
El float b fue truncado para ajustarse a los límites de precisión.
Lista en Python
Las listas son secuencias ordenadas y mutables que pueden contener elementos de cualquier tipo. Declaradas con corchetes, los elementos se separan por comas:
a = [1, 2.2, 'python']
Use slicing para recuperar sub-listas. Los índices comienzan en cero:
a = [5,10,15,20,25,30,35,40]
print("a[2] = ", a[2])
print("a[0:3] = ", a[0:3])
print("a[5:] = ", a[5:])
Salida
a[2] = 15 a[0:3] = [5, 10, 15] a[5:] = [30, 35, 40]
Las listas son mutables; los elementos pueden reasignarse:
a = [1, 2, 3]
a[2] = 4
print(a)
Salida
[1, 2, 4]
Tupla en Python
Las tuplas son ordenadas pero inmutables. A menudo se usan para proteger datos y pueden ofrecer ligeras ventajas de rendimiento sobre listas porque su tamaño no puede cambiar. Definidas con paréntesis:
t = (5,'program', 1+3j)
El slicing funciona, pero la reasignación lanza error:
t = (5,'program', 1+3j)
print("t[1] = ", t[1])
print("t[0:3] = ", t[0:3])
# t[0] = 10
# lanzaría TypeError
Salida
t[1] = program t[0:3] = (5, 'program', (1+3j))
Strings en Python
Los strings son secuencias inmutables de caracteres Unicode. Use comillas simples o dobles; comillas triples permiten literales multilínea.
s = "Esto es un string"
print(s)
s = '''Un string multilínea'''
print(s)
Salida
Esto es un string Un string multilínea
El slicing funciona, pero intentar modificar un carácter dispara error:
s = '¡Hola mundo!'
print("s[4] = ", s[4])
print("s[6:11] = ", s[6:11])
# s[5] = 'd'
# lanzaría TypeError
Salida
s[4] = o s[6:11] = mundo
Conjunto en Python
Un conjunto es una colección desordenada de elementos únicos, definida con llaves. Los conjuntos eliminan duplicados automáticamente y soportan operaciones de conjunto como unión e intersección.
a = {5,2,3,1,4}
print("a = ", a)
print(type(a))
Salida
a = {1, 2, 3, 4, 5}
<class 'set'>
Los duplicados se eliminan automáticamente:
a = {1,2,2,3,3,3}
print(a)
Salida
{1, 2, 3}
Como los conjuntos son desordenados, indexación y slicing no son soportados.
Diccionario en Python
Los diccionarios almacenan pares clave-valor y están altamente optimizados para búsqueda por clave. Claves y valores pueden ser de cualquier tipo hashable.
d = {1:'valor','clave':2}
print(type(d))
print("d[1] = ", d[1])
print("d['clave'] = ", d['clave'])
# print("d[2] = ", d[2])
# lanzaría KeyError
Salida
<class 'dict'> d[1] = valor d['clave'] = 2
Conversión entre tipos de datos
Python proporciona constructores integrados para conversión de tipos: int(), float(), str() y más. Convertir un float a int trunca hacia cero.
float(5) # 5.0
int(10.6) # 10
int(-10.6) # -10
Las conversiones de string requieren representaciones compatibles:
float('2.5') # 2.5
str(25) # '25'
# int('1p') # ValueError
Las secuencias pueden convertirse entre sí:
set([1,2,3]) # {1, 2, 3}
tuple({5,6,7}) # (5, 6, 7)
list('hola') # ['h', 'o', 'l', 'a']
Para crear un diccionario desde un iterable de pares:
dict([[1,2],[3,4]]) # {1: 2, 3: 4}
dict([(3,26),(4,44)]) # {3: 26, 4: 44}
python
- 5 Modelos de Centros de Datos Explicados: Diseño, Casos de Uso y Ejemplos
- Ocho Modelos Clave de Computación en la Nube en 2021
- 8 Tipos Comunes de Violación de Datos: Ejemplos Reales e Impacto
- Domine variables y tipos de datos primitivos en C#: Guía completa
- Entendiendo los Tipos de Datos en C++: Fundamentos, Modificadores y Mejores Prácticas
- Tipos de datos en C explicados: int, float, char y más – guía completa
- Entendiendo los tipos de datos en C: Guía completa
- Tipos de Datos en MATLAB: Guía Completa de Conversión y Determinación
- Dominando conversión y casting de tipos en Python: Guía completa
- Dominando operadores en Python: Guía completa
- Dominando la sentencia pass en Python: Guía práctica