Python para Principiantes en 2026: Curso Básico con Ejemplos Prácticos


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: pandas para manejar tablas y CSV, matplotlib para gráficas
  • Automatización: requests para consumir APIs, selenium para 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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *