Temario Completo de Python para Principiantes
UNIDAD 1: Introducción y Configuración del Entorno
Duración estimada: 1 semana
Tema 1.1: ¿Qué es Python?
• Historia y filosofía de Python
• Características principales del lenguaje
• Aplicaciones de Python en el mundo real
• Ventajas y desventajas
Tema 1.2: Instalación y Configuración
• Descarga e instalación de Python
• Configuración del PATH
• Introducción al intérprete de Python
• IDEs y editores recomendados (IDLE, VS Code, PyCharm)
Tema 1.3: Primer Contacto
• Ejecutar Python desde la línea de comandos
• El intérprete interactivo
• Tu primer programa: "Hola Mundo"
• Comentarios en el código
UNIDAD 2: Fundamentos del Lenguaje
Duración estimada: 2 semanas
Tema 2.1: Variables y Asignación
• Concepto de variable
• Reglas para nombrar variables
• Asignación de valores
• Reasignación de variables
• Variables múltiples en una línea
Tema 2.2: Tipos de Datos Básicos
• Números:
o Enteros (int)
o Decimales (float)
o Números complejos
o Operaciones aritméticas básicas
• Cadenas de texto (strings):
o Creación de strings
o Comillas simples vs dobles
o Strings multilínea
o Caracteres de escape
• Booleanos:
o Valores True y False
o Conversión a booleanos
Tema 2.3: Operadores
• Operadores aritméticos: +, -, *, /, //, %, **
• Operadores de comparación: ==, !=, <, >, <=, >=
• Operadores lógicos: and, or, not
• Operadores de asignación: =, +=, -=, *=, /=
• Precedencia de operadores
Tema 2.4: Casting y Conversión de Tipos
• Concepto de casting
• Funciones int(), float(), str()
• bool() y conversiones a booleano
• Casos especiales y errores de conversión
Tema 2.5: Entrada y Salida Básica
• Función print() y sus parámetros
• Función input() para entrada de datos
• Validación de entrada de usuario
• Formateo básico de strings
UNIDAD 3: Estructuras de Datos
Duración estimada: 2 semanas
Tema 3.1: Listas
• Creación de listas
• Acceso a elementos por índice
• Índices negativos
• Slicing (rebanado)
• Métodos de listas:
o append(), insert(), remove(), pop()
o index(), count(), sort(), reverse()
• Listas anidadas
• List comprehensions (introducción básica)
Tema 3.2: Tuplas
• Creación de tuplas
• Diferencias entre listas y tuplas
• Acceso a elementos
• Desempaquetado de tuplas
• Tuplas como claves de diccionario
Tema 3.3: Diccionarios
• Creación de diccionarios
• Acceso y modificación de valores
• Claves y valores
• Métodos de diccionarios:
o keys(), values(), items()
o get(), pop(), update()
• Iteración sobre diccionarios
• Diccionarios anidados
Tema 3.4: Conjuntos (Sets)
• Creación de conjuntos
• Operaciones básicas: add(), remove(), discard()
• Operaciones matemáticas: unión, intersección, diferencia
• Conjuntos como herramienta para eliminar duplicados
Tema 3.5: Arrays (Listas como Arrays)
• Diferencia conceptual entre listas y arrays
• Uso de listas como arrays unidimensionales
• Operaciones comunes en arrays
• Introducción al módulo array (opcional)
• Arrays multidimensionales con listas anidadas
UNIDAD 4: Control de Flujo
Duración estimada: 2 semanas
Tema 4.1: Estructuras Condicionales
• Declaración if:
o Sintaxis básica
o Indentación en Python
o Condiciones simples y compuestas
• if-else:
o Estructura básica
o Casos de uso
• if-elif-else:
o Múltiples condiciones
o Mejores prácticas
Tema 4.2: Match Statement (Python 3.10+)
• Introducción al match-case
• Sintaxis básica de match
• Patrones simples y complejos
• Comparación con if-elif-else
• Guard expressions
• Casos de uso prácticos
Tema 4.3: Bucles
• Bucle for:
o Iteración sobre listas, tuplas, strings
o Función range()
o range() con parámetros múltiples
o Bucles anidados
• Bucle while:
o Sintaxis y uso básico
o Condiciones de terminación
o Evitar bucles infinitos
• Control de bucles:
o break: salir del bucle
o continue: saltar iteración
o else en bucles
Tema 4.4: Casos Prácticos
• Validación de entrada de datos
• Menús interactivos
• Procesamiento de listas
• Algoritmos de búsqueda simple
UNIDAD 5: Funciones
Duración estimada: 2 semanas
Tema 5.1: Introducción a las Funciones
• ¿Qué son las funciones?
• Ventajas de usar funciones
• Anatomía de una función
• Definición con def
• Llamada a funciones
Tema 5.2: Parámetros y Argumentos
• Parámetros:
o Parámetros posicionales
o Parámetros con valores por defecto
o Parámetros de palabra clave
• Argumentos variables:
o *args (argumentos posicionales variables)
o **kwargs (argumentos de palabra clave variables)
Tema 5.3: Valores de Retorno
• Declaración return
• Funciones que retornan múltiples valores
• Funciones sin return explícito (None)
Tema 5.4: Ámbito de Variables
• Variables locales vs globales
• La palabra clave global
• Buenas prácticas en el uso de variables
Tema 5.5: Funciones Lambda
• Sintaxis de lambda
• Cuándo usar funciones lambda
• lambda con map(), filter(), sorted()
UNIDAD 6: Manejo de Strings Avanzado
Duración estimada: 1 semana
Tema 6.1: Métodos de Strings
• Transformación:
o upper(), lower(), capitalize(), title()
o strip(), lstrip(), rstrip()
o replace(), translate()
• Análisis:
o startswith(), endswith()
o isdigit(), isalpha(), isalnum()
o find(), count()
• División y unión:
o split(), rsplit(), partition()
o join()
Tema 6.2: Formateo Avanzado de Strings
• Formateo con % (método clásico)
• Método format() y sus especificadores
• f-strings (formatted string literals)
• Especificadores de formato numérico
• Alineación y relleno de texto
• Formateo de fechas y números
UNIDAD 7: Manejo de Archivos
Duración estimada: 1.5 semanas
Tema 7.1: Operaciones Básicas con Archivos
• Función open() y sus modos
• Lectura de archivos: read(), readline(), readlines()
• Escritura de archivos: write(), writelines()
• Cerrar archivos: close()
Tema 7.2: Buenas Prácticas
• Uso de with statement
• Manejo de errores básico
• Codificación de caracteres (encoding)
Tema 7.3: Trabajando con CSV
• Lectura y escritura de archivos CSV
• Módulo csv (introducción básica)
UNIDAD 8: Manejo de Errores y Excepciones
Duración estimada: 1.5 semanas
Tema 8.1: Tipos de Errores
• Errores de sintaxis vs errores de ejecución
• Excepciones comunes:
o NameError, TypeError, ValueError
o IndexError, KeyError
o FileNotFoundError, ZeroDivisionError
Tema 8.2: Manejo de Excepciones
• Bloque try-except
• Captura de excepciones específicas
• Bloque try-except-else
• Bloque try-except-finally
• Uso de raise para lanzar excepciones
Tema 8.3: Buenas Prácticas
• Cuándo usar manejo de excepciones
• Mensajes de error útiles
• No capturar todas las excepciones
UNIDAD 9: Módulos, Paquetes y Herramientas
Duración estimada: 2 semanas
Tema 9.1: Introducción a los Módulos
• ¿Qué son los módulos?
• Importación de módulos: import, from...import
• Alias de módulos: import...as
• La variable name
Tema 9.2: Módulos de la Biblioteca Estándar
• math: funciones matemáticas avanzadas
• random: generación de números aleatorios
• datetime: manejo completo de fechas y tiempo
• os: interacción con el sistema operativo
• json: lectura, escritura y manipulación de datos JSON
• re: expresiones regulares (RegEx)
o Patrones básicos
o Funciones search(), match(), findall()
o Grupos y caracteres especiales
o Casos de uso prácticos
Tema 9.3: Gestión de Paquetes con PIP
• ¿Qué es PIP?
• Instalación de paquetes externos
• Comandos básicos: install, uninstall, list, show
• Archivo [Link]
• Actualización de paquetes
Tema 9.4: Creación de Módulos Propios
• Crear tu primer módulo
• Organización de código en módulos
• Introducción a los paquetes
• Distribución de módulos
Tema 9.5: Entornos Virtuales (Virtual Environment)
• ¿Por qué usar entornos virtuales?
• Creación de entornos virtuales con venv
• Activación y desactivación
• Gestión de dependencias por proyecto
• Buenas prácticas
UNIDAD 10: Introducción a la Programación Orientada a Objetos
Duración estimada: 2 semanas
Tema 10.1: Conceptos Básicos
• ¿Qué es la POO?
• Clases vs objetos (instancias)
• Atributos y métodos
• El método init
Tema 10.2: Creación de Clases
• Definición de una clase simple
• Creación de objetos
• Acceso a atributos y métodos
• El parámetro self
Tema 10.3: Herencia
• Concepto básico de herencia
• Crear una clase hija
• Uso de super()
• Herencia múltiple (conceptos básicos)
• Sobrescritura de métodos
Tema 10.4: Polimorfismo
• Concepto de polimorfismo
• Polimorfismo en Python
• Duck typing
• Ejemplos prácticos
Tema 10.5: Iteradores
• Concepto de iterador
• Protocolo de iteración: iter e next
• Creación de iteradores personalizados
• iter() y next()
• StopIteration exception
Tema 10.6: Métodos Especiales Adicionales
UNIDAD 11: Proyectos Integradores
Duración estimada: 2 semanas
Proyecto 1: Calculadora Avanzada
• Interfaz de línea de comandos
• Múltiples operaciones
• Historial de cálculos
• Manejo de errores
Proyecto 2: Sistema de Gestión de Biblioteca
• Registro de libros
• Sistema de préstamos
• Búsqueda de libros
• Persistencia de datos en archivos
Proyecto 3: Juego de Adivinanza de Números
• Generación de números aleatorios
• Niveles de dificultad
• Sistema de puntuación
• Guardar mejores puntuaciones
Proyecto 4: Analizador de Texto
• Contar palabras, líneas, caracteres
• Encontrar palabras más frecuentes
• Análisis de archivos de texto
• Generar reportes
UNIDAD 12: Buenas Prácticas y Próximos Pasos
Duración estimada: 1 semana
Tema 12.1: Buenas Prácticas de Programación
• PEP 8: guía de estilo de Python
• Nomenclatura de variables y funciones
• Documentación de código (docstrings)
• Comentarios útiles vs comentarios innecesarios
Tema 12.2: Herramientas de Desarrollo
• Introducción a Git (control de versiones)
• Entornos virtuales (venv)
• Instalación de paquetes con pip
Tema 12.3: ¿Qué Sigue?
• Áreas de especialización:
o Desarrollo web (Django, Flask)
o Ciencia de datos (NumPy, Pandas, Matplotlib)
o Automatización (Selenium, APIs)
o Inteligencia artificial (TensorFlow, scikit-learn)
• Recursos para continuar aprendiendo
• Comunidad Python y contribuciones