¡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.
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
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.