Saltar al contenido principal
Python es el lenguaje más usado para aprender a programar y uno de los más usados en la industria: ciencia de datos, inteligencia artificial, automatización, desarrollo web y cálculo científico. Su sintaxis es clara y cercana al pseudocódigo, y permite escribir en pocas líneas lo que en C o Java necesitaría muchas más. Este tema recorre todo lo básico con ejemplos.

Lo que vas a aprender

  • Los tipos de datos básicos, las variables y los operadores.
  • Cómo leer datos y mostrar resultados.
  • Condicionales y bucles.
  • Cómo definir funciones.
  • Las estructuras de datos de Python: listas, tuplas, diccionarios y conjuntos.
  • Comprensiones de listas, cadenas, excepciones y ficheros.

Fundamentos

Variables y tipos

En Python no se declara el tipo: se asigna y el intérprete lo deduce.

Operadores

Entrada y salida

Las f-strings (f"...") insertan expresiones entre llaves. Con {x:.2f} se muestran 2 decimales.

Condicionales

La indentación (4 espacios) delimita los bloques: no hay llaves.

Bucles

break sale del bucle y continue salta a la siguiente iteración.

Funciones

Los parámetros pueden tener valores por defecto. Una función puede devolver varios valores en una tupla: return minimo, maximo.

Estructuras de datos

Buscar en un diccionario o un conjunto cuesta O(1)O(1) de media, porque son tablas hash; buscar en una lista, O(n)O(n).

Comprensiones

Una forma compacta de construir listas, diccionarios o conjuntos:

Cadenas

Las cadenas son inmutables: los métodos devuelven una cadena nueva.

Excepciones y ficheros

with cierra el fichero automáticamente aunque haya un error.

Ejemplos resueltos

Ejemplo 1 · ¿Es primo?

Basta con probar divisores hasta n\sqrt n. Compáralo con la factorización en primos.
La biblioteca estándar lo hace en una línea: collections.Counter(texto.split()).
Compara con la calculadora de estadística descriptiva.
La versión recursiva tarda un tiempo exponencial; la iterativa, lineal. Lo explican los temas de recursión y programación dinámica.

Errores frecuentes

  • Mezclar tabuladores y espacios en la indentación. Usa siempre 4 espacios.
  • Olvidar convertir input() a número: "3" + "4" es "34".
  • Modificar una lista mientras se recorre con for. Recorre una copia o construye una nueva.
  • Usar una lista como valor por defecto: def f(x=[]) comparte la misma lista entre llamadas. Usa x=None.
  • Confundir = (asignar) con == (comparar).
  • Copiar listas con b = a. Las dos variables apuntan a la misma lista; para copiar, b = a.copy() o b = a[:].

Preguntas frecuentes

El intérprete es más lento que C para bucles puros, a veces 50 veces o más. Pero las bibliotecas científicas (NumPy, pandas, PyTorch) están escritas en C y Fortran por dentro, y operando con arrays enteros en lugar de bucles se consigue una velocidad parecida.
Programación orientada a objetos (clases), módulos y entornos virtuales, y luego la biblioteca de tu área: NumPy y Matplotlib para cálculo y gráficas, pandas para datos, Flask o Django para web, scikit-learn o PyTorch para aprendizaje automático.

Temas relacionados

Estructuras de datos

Pilas, colas y árboles animados.

Algoritmos de ordenación

Cómo ordena sort() por dentro.

Tablas hash

Lo que hay detrás de los diccionarios.
Última modificación el 12 de octubre de 2026