Python Intermedio

✨ Nivel
🕗 Duración
💻 Práctica
Intermedio
6-8 meses
Más de 300 ejercicios de programación
¡Bienvenido al curso de nivel intermedio de Python! En este curso, aprenderás mucho sobre características más avanzadas del lenguaje y algunas prácticas recomendadas para su uso. Este curso está diseñado para personas que ya tienen cierta experiencia en Python y desean mejorar sus conocimientos y aprender temas más avanzados.
notion image
Al final de este curso, sabrás cómo utilizar clases y dominarás la herencia. Cubriremos las mejores prácticas para escribir código en proyectos más grandes y utilizaremos typing, que ayuda a analizar el código de manera estática para detectar errores. Trabajarás con decoradores y crearás tus propios decoradores utilitarios que reducirán significativamente el tamaño del código. Discutiremos iteradores e iterables junto con la biblioteca estándar itertools. Usaremos glob y pathlib para trabajar con el sistema de archivos. Y lo más importante, aprenderemos cómo usar async / await para optimizar nuestro código al trabajar con grandes operaciones de E/S, bases de datos y solicitudes de red.

💻 Aprende Haciendo

En este curso, ¡aprendes haciendo! Cada concepto tiene varios desafíos interactivos que deberás resolver para avanzar al siguiente. Creemos que el aprendizaje práctico es la mejor manera de obtener un conocimiento profundo. Aquí tendrás muchos ejercicios desafiantes y, al mismo tiempo, interesantes para practicar cada uno de los conceptos cubiertos.
Estudiarás a tu propio ritmo. Puedes esforzarte y completar varios niveles en una semana, o tomarlo con calma y enfocarte más tiempo en cada concepto.
Hay un foro para hacer preguntas y resolver dudas. Puedes preguntar o responder las preguntas de otros bajo cada desafío.

🎓 Plan de Estudios

Este curso se enfoca en los conceptos fundamentales y algunas características avanzadas de Python, y los introduce de manera intuitiva. Para hacer el proceso más divertido y atractivo, los conceptos están organizados en niveles, y al superar cada nivel significa que has dominado un nuevo concepto. Estas son las principales cosas que cubriremos aquí:
Funciones avanzadas
  • Argumentos solo posicionales y solo por palabra clave
  • Recursión
  • Paso por valor VS paso por referencia (argumentos mutables)
Expresiones regulares
  • Fundamentos y aplicaciones de las expresiones regulares
  • Búsqueda y coincidencias
Clases
  • Definir clases
  • Establecer y acceder a atributos
  • El constructor __init__
  • Definir métodos dentro de las clases
  • Métodos mágicos
  • Variables públicas y privadas
Herencia
  • Heredar de una clase base
  • Modificar la funcionalidad sobrescribiendo un método
  • Extender la funcionalidad con la ayuda de super()
  • Heredar de varias clases base
Encapsulación
  • Variables privadas
  • Variables protegidas
  • Cómo Python maneja realmente las variables privadas y protegidas
Excepciones
  • raise y except
  • Jerarquía de excepciones
  • Creación de excepciones personalizadas
Módulos
  • Trabajar con librerías
  • Módulos en el sistema de archivos
  • Inicialización de módulos
  • Importar variables, funciones y clases
Sistema de Archivos
  • glob para trabajar con colecciones de archivos
  • pathlib para trabajar con archivos específicos
  • Eliminar archivos
  • Crear/eliminar recursivamente directorios completos
Clases Avanzadas
  • Variables de clase VS variables de instancia
  • Decoradores incorporados (@dataclass, @property, @staticmethod, etc.)
  • Clases abstractas (módulo ABC)
Decoradores
  • Decoradores para funciones
  • Decoradores para clases
  • Crear decoradores personalizados
Tipado
  • Tipado para tipos incorporados (int, list, dict, etc.)
  • Tipado para clases personalizadas
  • Tipado dentro de una clase
  • Análisis estático: qué podemos lograr y cuáles son las limitaciones
Iteradores e Iterables
  • Iteradores
  • Generadores
  • Iterables
  • itertools - cycle(), repeat(), chain(), etc.
  • Crear un generador personalizado
  • Crear un iterable personalizado
Administradores de Contexto
  • Implementar un administrador de contexto personalizado
  • Usar la sintaxis with
  • Administradores de contexto como decoradores
Multithreading y Multiprocessing
  • El paquete threading
  • Crear una clase de hilo personalizada
  • El paquete multiprocessing
  • Procesamiento en pools
  • Compartir datos entre hilos y procesos
asyncio
  • Sintaxis async y await para funciones
  • Trabajar con archivos
  • Trabajar con solicitudes de red
  • Consultas a través de SQLAlchemy
  • asyncio vs hilos y procesos
Cierre y proyectos
  • Varios proyectos supervisados resumirán todo el material.
  • Esto incluirá mucho googlear y autoaprendizaje.
  • Automatizarás algunas tareas y aprenderás algunas librerías útiles

🚀 Bienvenido

¡Aprender es un 80% de trabajo individual! Completar este curso será tu logro y estamos aquí para apoyar ese viaje. Puedes usar la sección al final de cada ejercicio para hacer preguntas o ayudar a otros.