Pregunta 1¿Cuál de estas opciones describe mejor el sentido de «pensar en los tipos» en Python?
Resumen de tipos en Python — por qué importan los tipos y la puerta a las clases
Repasa los tipos básicos de Python con diagramas y da tu primer paso hacia POO definiendo tu propio tipo con class.
¿Qué es exactamente un «tipo»?
Hasta ahora has visto muchos tipos — int, float, str, bool, list, dict, tuple, set y más. Elegir el tipo adecuado para la tarea es lo que más importa en el día a día real.
Como muestra el ejemplo, incluso el mismo operador + ejecuta operaciones distintas según el tipo.
Dicho de otra forma, elegir un tipo distinto según el propósito es la manera de cambiar lo que una variable puede hacer.
Todos los tipos vistos hasta ahora, de un vistazo
Vamos a organizar los tipos de Fundamentos de Python según su uso. Si lo que quieres es «hacer cálculos numéricos», «manejar texto» o «agrupar varios valores», el tipo correcto sale solo.
| Tipo | Uso típico | Ejemplo |
|---|---|---|
| int | Calcular precios o cantidades | 5, 100, -3 |
| float | Importes con IVA o porcentajes de descuento | 3.14, 0.5 |
| bool | Seguimiento del estado de sesión o la disponibilidad de stock | True, False |
| str | Guardar nombres de usuario o comentarios | 'hello' |
| list | Un carrito de compra o una lista ordenada de resultados de búsqueda | [1, 2, 3] |
| tuple | Pares fijos como latitud/longitud | (1, 2, 3) |
| dict | Mantener datos de usuario (id / name / email) | {'a': 1} |
| set | Deduplicar tags o comprobar pertenencia | {1, 2, 3} |
Ten también en cuenta si un tipo es modificable (mutable) o no modificable (inmutable). list / dict / set son mutables; el resto es inmutable.
Puedes definir tus propios tipos con class
Todo lo visto hasta aquí — int / list / dict y compañía — es un tipo que Python trae de fábrica (un tipo incorporado). En proyectos reales aparecen muchos conceptos que los tipos incorporados no logran representar por sí solos: «Usuario», «Producto», «Pedido»… Python te permite definir tus propios tipos con class: esa es la puerta de entrada a la programación orientada a objetos (POO). Volveremos a la POO con más detalle en próximos artículos.
# Define un nuevo tipo Point (una coordenada)
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
p = Point(3, 4) # crea una instancia de Point
print(p.x) # 3
Un curso completo de POO llega en otra serie
Las clases, la herencia, el polimorfismo y el resto de la programación orientada a objetos se cubren en una serie aparte dedicada. Por ahora, basta con saber que además de los tipos incorporados, también puedes construir los tuyos.
Verificación de conocimientos
Responde cada pregunta una a una.
Pregunta 2De los siguientes tipos, ¿cuál es mutable (modificable)?
Pregunta 3¿Qué palabra clave usas para definir tu propio tipo nuevo en Python?