Curso de Python para Principiantes: Guía Definitiva 2026
Aprendé Python desde cero con variables, condicionales, funciones y una lista de tareas. Incluye código, pruebas y controles para entradas inválidas.
Vas a practicar en cinco módulos con ejemplos ejecutables y un proyecto de consola. Podés leer sin instalar nada; para ejecutar los ejemplos, seguí la puesta a punto de abajo.
Requisitos y puesta a punto
- Una computadora con Windows, macOS o Linux.
- Ganas de escribir código todos los días, aunque sean 30 minutos.
- No se requiere matemática avanzada ni inglés fluido: solo leer documentación simple.
Instalación:
- Descargá Python 3.12 o superior desde python.org/downloads. En Windows, marcá la casilla "Add Python to PATH" durante la instalación.
- Instalá un editor. Visual Studio Code es gratuito y tiene una extensión oficial de Python.
- Verificá la instalación abriendo una terminal y escribiendo:
python --version
Si responde con un número de versión (por ejemplo, Python 3.12.4), ya está listo. En algunos sistemas el comando es python3.
Módulo 1: Tu primer programa
Todo programa en Python es una secuencia de instrucciones. La función print() muestra texto en pantalla.
# Mi primer programa en Python
print("¡Hola, mundo!")
print("Estoy aprendiendo Python")
Los comentarios empiezan con # y no se ejecutan. Guardá el archivo como hola.py y ejecutalo desde la terminal con python hola.py.
Módulo 2: Variables y tipos de datos
Una variable guarda un valor para reutilizarlo. Python infiere el tipo automáticamente.
nombre = "Ana" # str (texto)
edad = 28 # int (entero)
altura = 1.65 # float (decimal)
es_estudiante = True # bool (verdadero/falso)
# f-string: inserta variables dentro del texto
print(f"{nombre} tiene {edad} años y mide {altura} m")
# input() lee lo que escribe el usuario (siempre devuelve texto)
ciudad = input("¿En qué ciudad vivís? ")
print(f"Qué lindo, {ciudad}")
Convertir tipos: int("42") convierte texto a entero y str(42) convierte un número a texto. Es clave cuando lees datos con input().
Módulo 3: Control de flujo y estructuras de datos
Condicionales
nota = 7
if nota >= 9:
print("Excelente")
elif nota >= 6:
print("Aprobado")
else:
print("A recuperar")
Bucles
# for: recorre una secuencia
for numero in range(1, 4):
print("Vuelta", numero)
# while: repite mientras se cumpla una condición
contador = 3
while contador > 0:
print("Faltan", contador)
contador -= 1
Listas, diccionarios y tuplas
# Lista: colección ordenada y modificable
frutas = ["manzana", "pera", "banana"]
frutas.append("naranja")
print(frutas[0]) # manzana
print(len(frutas)) # 4
# Diccionario: pares clave-valor
persona = {"nombre": "Ana", "edad": 28}
print(persona["nombre"])
persona["ciudad"] = "Buenos Aires" # agrega una clave nueva
# Tupla: como una lista, pero no se puede modificar
coordenadas = (10, 20)
Módulo 4: Funciones, librerías y errores
Una función agrupa código reutilizable.
def saludar(nombre):
return f"Hola, {nombre}"
def promedio(numeros):
return sum(numeros) / len(numeros)
print(saludar("Ana"))
print(promedio([8, 6, 10])) # 8.0
Python trae librerías estándar listas para usar y también podés instalar paquetes externos con pip install.
import random
from datetime import date
print("Número al azar:", random.randint(1, 6))
print("Hoy es:", date.today())
Manejo de errores
try:
edad = int(input("Tu edad: "))
print("El año que viene cumplís", edad + 1)
except ValueError:
print("Eso no es un número. Probá de nuevo.")
try ejecuta el código y except captura el error previsto para que el programa no se cierre de golpe.
Módulo 5: Tu primer proyecto — lista de tareas
Juntamos todo en un programa en consola que guarda tareas en memoria.
tareas = []
def mostrar_tareas():
if not tareas:
print("No hay tareas pendientes.")
return
for i, tarea in enumerate(tareas, start=1):
print(f"{i}. {tarea}")
def agregar_tarea(texto):
tareas.append(texto)
print(f"Agregada: {texto}")
def completar_tarea(entrada):
try:
numero = int(entrada)
except ValueError:
print("Escribí un número entero de la lista.")
return
if not 1 <= numero <= len(tareas):
print("Ese número de tarea no existe.")
return
quitada = tareas.pop(numero - 1)
print(f"Completada: {quitada}")
def main():
while True:
print("\n--- Lista de tareas ---")
print("1) Ver 2) Agregar 3) Completar 4) Salir")
opcion = input("Elegí una opción: ")
if opcion == "1":
mostrar_tareas()
elif opcion == "2":
agregar_tarea(input("Nueva tarea: "))
elif opcion == "3":
mostrar_tareas()
completar_tarea(input("¿Qué tarea completaste? "))
elif opcion == "4":
print("¡Hasta luego!")
break
else:
print("Opción inválida.")
main()
Guardalo como tareas.py y ejecutalo con python tareas.py. Ya tenés un programa real: entrada de datos, listas, funciones, condicionales, bucles y manejo de errores.
Probá también las entradas incorrectas
Agregá dos tareas, Primera y Segunda. Elegí 3) Completar para probar cada entrada; después elegí 1) Ver y comprobá la lista.
| Entrada al completar | Resultado esperado |
|---|---|
0, -1 o 3 | Aparece «Ese número de tarea no existe.» y se conservan ambas tareas. |
abc, una entrada vacía o 1.5 | Aparece «Escribí un número entero de la lista.» y el programa sigue abierto con ambas tareas. |
2 | Se quita solo Segunda; al elegir Ver, queda Primera. |
Para comprobar el último límite, completá también Primera. Con la lista vacía, intentá completar 1: debe mostrar el mensaje de número inexistente y volver al menú, sin cerrarse.
La lista que ve la persona empieza en 1, mientras que los índices de Python empiezan en 0. Por eso convertimos el texto a entero dentro de try, validamos que esté entre 1 y la cantidad de tareas y recién después restamos 1 para llamar a pop. Sin comprobar el rango, 0 se convierte en el índice -1 y podría quitar la última tarea por error. Convertir antes de entrar en la función también dejaría las letras fuera de su manejo de errores.
Las tareas viven solo en memoria: al cerrar el programa se pierden. Guardarlas en un archivo o una base de datos es una ampliación posterior, fuera de este ejercicio. Podés consultar el tutorial oficial de errores y excepciones de Python y la explicación de listas y pop.
Checklist del temario
- Instalé Python y verifiqué la versión.
- Escribí y ejecuté mi primer
print(). - Usé variables,
input()y f-strings. - Escribí condicionales y bucles.
- Usé listas y diccionarios.
- Definí funciones con
return. - Importé una librería y manejé un error con
try/except. - Terminé el proyecto de la lista de tareas.
Errores comunes de principiante
- Olvidar la indentación: en Python los espacios definen los bloques; usá siempre 4 espacios.
- Confundir asignar con comparar:
=guarda un valor,==compara. - No convertir
input(): todo lo que entra porinput()es texto; convertilo conint()ofloat()si vas a operar. - Copiar código sin ejecutarlo: escribir el error y arreglarlo es parte de aprender.
- Abandonar en el primer error: leé el mensaje, casi siempre indica la línea y el motivo.
Próximos pasos
Cuando termines los cinco módulos, practicá con proyectos chicos (un conversor de monedas, una calculadora, una agenda de contactos). Después vas a estar listo para bases de datos, APIs y análisis de datos.
En Cursalo tenés rutas guiadas para seguir aprendiendo, incluido el curso gratuito ChatGPT para Principiantes, todas las rutas en Cursos, la biblioteca de libros y los planes en Precios.
Fuentes oficiales para seguir: documentación de Python y Python para principiantes.