Saltar al contenido

# introduccion-a-la-programacion-con-python

Introducción a la programación con Python

Volver a la portada del curso
Lectura (Markdown)

Tipos de datos primitivos

Sección 2 · Variables y Tipos de Datos

Tipos de datos primitivos

Todo programa manipula datos, y cada dato tiene un tipo. El tipo determina qué operaciones puedes hacer con un valor: no sumas texto igual que sumas números. Entender los tipos primitivos de Python es la base para no cometer errores silenciosos más adelante.

Los cuatro tipos que usarás todo el tiempo

Python trae unos pocos tipos primitivos que cubren la mayoría de los casos:

  • int: números enteros, como 42 o -7.
  • float: números con decimales, como 3.14.
  • str: cadenas de texto, entre comillas, como "hola".
  • bool: valores lógicos, solo True o False.

Existe además None, del tipo NoneType, que representa la ausencia de valor. Es útil para indicar "todavía no hay dato".

Tipado dinámico

Python es de tipado dinámico: no declaras el tipo de una variable, se infiere del valor que le asignas. La función type() te dice qué tipo tiene un valor en cualquier momento.

edad = 30           # int
altura = 1.75       # float
nombre = "Ada"      # str
activo = True       # bool
sin_valor = None    # NoneType

print(type(edad))     # <class 'int'>
print(type(altura))   # <class 'float'>
print(type(nombre))   # <class 'str'>

Conversión entre tipos

A veces necesitas transformar un tipo en otro. Esto se llama conversión o casting. Un caso frecuente: lo que lees del teclado con input() siempre es texto, aunque parezca un número.

texto = "25"
numero = int(texto)     # convierte "25" a 25
print(numero + 5)       # 30

precio = 19.99
print(str(precio))      # "19.99" como texto
print(int(precio))      # 19, trunca los decimales

Si intentas convertir algo que no representa un número, como int("hola"), Python lanza un error ValueError. Eso es una buena señal: el lenguaje te avisa en vez de inventar un resultado.

Mutabilidad

Los tipos primitivos son inmutables: cuando "cambias" un número o una cadena, en realidad creas un valor nuevo. Esto evita sorpresas cuando compartes valores entre partes del programa. Las estructuras que sí cambian en el lugar, como las listas, las verás más adelante.

Interpolación con f-strings

Para combinar texto y valores de forma legible, Python ofrece las f-strings: cadenas con una f delante que permiten insertar variables entre llaves. Es la manera recomendada de construir mensajes, más clara que concatenar con el signo más.

nombre = "Ada"
edad = 30
print(f"{nombre} tiene {edad} años")   # Ada tiene 30 años

# también puedes hacer operaciones dentro de las llaves
precio = 19.99
print(f"Con IVA: {precio * 1.16:.2f}")  # Con IVA: 23.19

El sufijo :.2f del ejemplo formatea el número con dos decimales. Las f-strings evitan errores clásicos de conversión, porque no necesitas transformar cada valor a texto a mano.

Errores comunes

  • Sumar texto y número sin convertir: "3" + 4 falla; int("3") + 4 funciona.
  • Confundir = (asignación) con == (comparación).
  • Esperar que input() devuelva un número; siempre devuelve str.
  • Comparar float con igualdad exacta; los decimales pueden tener pequeñas imprecisiones.

Cierre

Con los tipos primitivos claros, ya puedes razonar sobre qué operaciones son válidas y por qué algunas fallan. En la práctica siguiente comprobarás los tipos y las conversiones con tus propios ejemplos.