Python sigue siendo en 2026 el lenguaje de programación más popular del mundo según el índice TIOBE, y no es casualidad. Es fácil de leer, versátil y tiene una comunidad enorme detrás. Si nunca has programado o vienes de otro lenguaje, este es el mejor punto de partida.
En este curso básico veremos los conceptos fundamentales con ejemplos cortos y directos, sin relleno. Al final tendrás una base sólida para seguir aprendiendo por tu cuenta.
Instalación en 5 minutos
Descarga Python desde python.org e instálalo. Durante la instalación en Windows marca la opción «Add Python to PATH», es importante.
Verifica que funciona abriendo una terminal:
python --version
Para escribir código puedes usar VS Code con la extensión de Python, o simplemente el editor IDLE que viene incluido con Python.
1. Variables y tipos de datos
En Python no declaras el tipo de variable, simplemente la asignas:
nombre = "Ana" # str → texto
edad = 28 # int → número entero
altura = 1.65 # float → número decimal
activo = True # bool → verdadero/falso
print(nombre, edad) # Ana 28
Puedes comprobar el tipo de cualquier variable con type():
print(type(nombre)) #
print(type(edad)) #
2. Cadenas de texto (strings)
Los strings son fundamentales. Estas son las operaciones más útiles:
saludo = "Hola, mundo"
print(saludo.upper()) # HOLA, MUNDO
print(saludo.lower()) # hola, mundo
print(saludo.replace("Hola", "Adiós")) # Adiós, mundo
print(len(saludo)) # 11
print(saludo[0]) # H (primer carácter)
print(saludo[-1]) # o (último carácter)
Para combinar variables con texto usa los f-strings (la forma moderna):
nombre = "Carlos"
edad = 35
print(f"Me llamo {nombre} y tengo {edad} años.")
3. Listas
Una lista guarda varios elementos en orden. Es uno de los tipos más usados en Python:
frutas = ["manzana", "pera", "uva", "kiwi"]
print(frutas[0]) # manzana
print(frutas[-1]) # kiwi
print(len(frutas)) # 4
frutas.append("mango") # añadir al final
frutas.remove("pera") # eliminar por valor
frutas.sort() # ordenar alfabéticamente
print(frutas) # ['kiwi', 'mango', 'manzana', 'uva']
Puedes acceder a un rango de elementos con slicing:
numeros = [10, 20, 30, 40, 50]
print(numeros[1:4]) # [20, 30, 40]
print(numeros[:3]) # [10, 20, 30]
print(numeros[2:]) # [30, 40, 50]
4. Diccionarios
Los diccionarios guardan datos en pares clave: valor. Perfectos para representar objetos del mundo real:
persona = {
"nombre": "Laura",
"edad": 31,
"ciudad": "Madrid"
}
print(persona["nombre"]) # Laura
print(persona.get("ciudad")) # Madrid
persona["email"] = "laura@email.com" # añadir clave
del persona["ciudad"] # eliminar clave
print(persona.keys()) # dict_keys(['nombre', 'edad', 'email'])
print(persona.values()) # dict_values(['Laura', 31, 'laura@email.com'])
5. Condicionales
La estructura if / elif / else controla el flujo del programa:
nota = 75
if nota >= 90:
print("Sobresaliente")
elif nota >= 70:
print("Notable")
elif nota >= 50:
print("Aprobado")
else:
print("Suspenso")
Importante: Python usa indentación (espacios) para definir bloques de código, no llaves
{}como otros lenguajes. Usa siempre 4 espacios.
6. Bucles
for — recorrer una secuencia
colores = ["rojo", "verde", "azul"]
for color in colores:
print(f"Color: {color}")
Con range() puedes iterar sobre números:
for i in range(5):
print(i) # 0, 1, 2, 3, 4
for i in range(1, 6):
print(i) # 1, 2, 3, 4, 5
while — repetir mientras se cumpla una condición
contador = 0
while contador < 3:
print(f"Vuelta {contador}")
contador += 1
7. Funciones
Las funciones permiten reutilizar código. Se definen con def:
def saludar(nombre):
return f"Hola, {nombre}!"
print(saludar("Pedro")) # Hola, Pedro!
print(saludar("María")) # Hola, María!
Puedes definir valores por defecto para los parámetros:
def potencia(base, exponente=2):
return base ** exponente
print(potencia(3)) # 9 (3²)
print(potencia(2, 10)) # 1024 (2¹⁰)
8. Manejo de errores
Cuando algo puede fallar, usa try / except para capturar el error sin que el programa se rompa:
try:
numero = int(input("Escribe un número: "))
print(f"El doble es {numero * 2}")
except ValueError:
print("Eso no es un número válido.")
También puedes usar finally para ejecutar código siempre, haya error o no:
try:
resultado = 10 / 0
except ZeroDivisionError:
print("No se puede dividir entre cero.")
finally:
print("Esto se ejecuta siempre.")
9. Trabajar con archivos
Leer y escribir archivos es sencillo en Python. Usa siempre with para que el archivo se cierre automáticamente:
with open("notas.txt", "w", encoding="utf-8") as f:
f.write("Primera línea\n")
f.write("Segunda línea\n")
with open("notas.txt", "r", encoding="utf-8") as f:
contenido = f.read()
print(contenido)
with open("notas.txt", "r", encoding="utf-8") as f:
for linea in f:
print(linea.strip())
10. Módulos: la biblioteca estándar
Python incluye una enorme biblioteca de módulos listos para usar. Estos son los más útiles para empezar:
os — interactuar con el sistema de archivos
import os
print(os.getcwd()) # directorio actual
os.makedirs("mi_carpeta", exist_ok=True) # crear carpeta
archivos = os.listdir(".") # listar archivos
print(archivos)
datetime — fechas y horas
from datetime import datetime
ahora = datetime.now()
print(ahora.strftime("%d/%m/%Y %H:%M")) # 30/05/2026 10:45
from datetime import date
nacimiento = date(1990, 3, 15)
hoy = date.today()
print((hoy - nacimiento).days, "días de vida")
random — números aleatorios
import random
print(random.randint(1, 100)) # número entre 1 y 100
print(random.choice(["roca", "papel", "tijera"]))
Proyecto final: mini calculadora
Vamos a juntar todo lo aprendido en un pequeño programa funcional:
def calculadora():
print("=== Mini Calculadora ===")
print("Operaciones: suma, resta, multiplica, divide")
operacion = input("¿Qué operación quieres hacer? ").strip().lower()
try:
a = float(input("Primer número: "))
b = float(input("Segundo número: "))
except ValueError:
print("Error: introduce números válidos.")
return
if operacion == "suma":
resultado = a + b
elif operacion == "resta":
resultado = a - b
elif operacion == "multiplica":
resultado = a * b
elif operacion == "divide":
if b == 0:
print("Error: no se puede dividir entre cero.")
return
resultado = a / b
else:
print("Operación no reconocida.")
return
print(f"Resultado: {a} {operacion} {b} = {resultado}")
calculadora()
Este pequeño programa usa variables, funciones, condicionales, manejo de errores e input del usuario. Todo en menos de 30 líneas.
¿Qué aprender después?
Con estos fundamentos dominados, los siguientes pasos naturales son:
- Programación orientada a objetos (POO): clases y objetos en Python
- Librerías de datos:
pandaspara manejar tablas y CSV,matplotlibpara gráficas - Automatización:
requestspara consumir APIs,seleniumpara automatizar el navegador - Scripts de sistema: combinar Python con PowerShell o Bash para tareas de administración
- FastAPI o Flask: crear APIs y aplicaciones web sencillas
La documentación oficial en [docs.python.org](https://docs.python.org/es/3/) está disponible en español y es excelente para consultar cualquier duda.
Python es un lenguaje que recompensa rápidamente el tiempo invertido. En pocas horas puedes escribir programas útiles: scripts de automatización, procesadores de archivos, pequeñas herramientas de red o analizadores de datos. No necesitas memorizar nada, solo practicar con pequeños proyectos reales.
El mejor consejo para aprender a programar es siempre el mismo: no te limites a leer, escribe el código, modifícalo, rómpelo y arréglalo. Así es como se aprende de verdad.
¿Tienes alguna duda sobre Python o quieres que profundicemos en algún tema concreto? Déjanos un comentario.