- 1

Fundamentos de Programación con Python para Principiantes
02:04 - 2

Instalación y Uso Básico de Python en Windows y Mac
08:10 - 3

Semántica y Sintaxis en Programación Python
10:15 - 4
Práctica: Te doy la bienvenida a los ejercicios interactivos
00:00 - 5

Manejo de Cadenas y Operaciones Básicas en Python
13:06 - 6

Tipos de Datos en Python: Enteros, Flotantes y Booleanos
07:22 - 7
Dominio de la función `print` en Python: usos y formatos avanzados
04:00 - 8

Operaciones matemáticas avanzadas en Python: módulo, potencia y más
11:01 - 9

Entrada de información y manejo de tipos de datos en Python
04:53
Asincronismo en Python con AsyncIO y Corrutinas
Clase 57 de 63 • Curso de Python
Contenido del curso
- 23

Programación Orientada a Objetos en Python: Clases y Métodos Básicos
14:11 - 24

Gestión de Biblioteca con Programación Orientada a Objetos
18:07 - 25

Herencia y Polimorfismo en Programación Orientada a Objetos
13:57 - 26

Programación Orientada a Objetos: Implementación de Clases y Herencia
13:10 - 27

Polimorfismo en Programación Orientada a Objetos
06:21 - 28

Herencia y Uso de la Función super() en Python
07:28 - 29
Programación Orientada a Objetos: Atributos, Métodos y `super()` en Python
05:06
- 37
Programación Avanzada en Python: POO, Excepciones y Proyectos
01:45 - 38

Escritura de Código Pytónico y Buenas Prácticas en Python
03:58 - 39

Comentarios y Docstrings: Buenas Prácticas en Programación
07:01 - 40

Tiempo de vida y alcance de variables en Python
14:11 - 41

Anotaciones de Tipo en Python para Código Más Legible
13:12 - 42

Validación de Tipos y Manejo de Excepciones en Python
13:05 - 43

Estructuras de Datos Avanzadas en Python: Collection y Enumeraciones
13:15
- 47

Uso de Métodos Mágicos en Python
06:47 - 48
Sobrecarga de Operadores en Python: Personaliza Comportamiento de Clases
04:18 - 49

Ejecutar scripts Python con `if __name__ == '__main__'`
05:42 - 50

Metaprogramación en Python: Métodos `__new__` y `__init__`
03:59 - 51

Uso de *args y **kwargs en funciones de Python
14:32 - 52

Métodos y Atributos Privados y Protegidos en Python
09:26 - 53

Uso de Property en Python: Getter, Setter y Eliminación de Atributos
07:56 - 54

Métodos estáticos y de clase en Python
07:46
¿Qué es el asincronismo y cómo funciona en Python?
El asincronismo es un concepto crucial en el desarrollo contemporáneo de software, especialmente cuando buscamos eficiencia en el procesamiento de tareas. Tradicionalmente, las tareas se realizan de manera sincrónica: una acción se ejecuta y debe completarse antes de comenzar la siguiente. Sin embargo, con el asincronismo, podemos enviar múltiples solicitudes al servidor simultáneamente. El servidor procesa todas y envía las respuestas en un periodo más corto, lo que ayuda a mejorar el rendimiento del sistema.
En el contexto de Python, el asincronismo se implementa mediante corrutinas—funciones que pueden detenerse y reanudarse más tarde. Esto se logra gracias a las palabras clave async y await, y la librería asyncio que se encarga de gestionar el "event loop", un ciclo que maneja las tareas asíncronas y devuelve las respuestas eficientemente.
¿Cómo se escribe una función asíncrona en Python?
Para crear funciones asíncronas en Python, es fundamental seguir ciertos pasos y utilizar las herramientas adecuadas del lenguaje. A continuación, se presenta una guía práctica para definir una función asíncrona básica:
-
Importar
asyncio: Esta librería es esencial para ejecutar funciones asíncronas y gestionar el event loop.import asyncio -
Definir la función con
async: Utilizamos la palabra reservadaasyncpara indicar que la función es asíncrona.async def process_data(data): print(f"procesando {data}...") -
Simular espera con
await: Empleamosawaitjunto conasyncio.sleep()para simular el tiempo de espera sin afectar el event loop.await asyncio.sleep(10) print(f"{data} ya terminó de procesarse.") -
Retornar un resultado: Después del procesamiento, podemos retornar un resultado, en este caso,
datamultiplicado por dos.return data * 2
¿Cómo ejecutar corrutinas con un event loop?
La ejecución de corrutinas se basa en el manejo del event loop, que orquesta estas tareas asíncronas. Los pasos clave para su implementación incluyen:
-
Definir una función principal asíncrona: Esta función, denominada
main, es donde se inician las corrutinas. No recibe parámetros.async def main(): print("inicio de procesamiento") result = await process_data("archivo.txt") print(f"resultado final: {result}") -
Ejecutar el event loop: Utilizamos
asyncio.run()para iniciar el loop llamando amain, nuestra función principal.asyncio.run(main())
Actividad recomendada: gestión de descargas
Un excelente ejercicio para solidificar el conocimiento de asincronismo en Python es crear un sistema de gestión de descargas. Este sistema debe asumir que cada descarga tiene un tiempo de procesamiento diferente, y el tiempo debe ser determinado de manera aleatoria. Este ejercicio fortalece la comprensión sobre cómo manejar varias tareas con diferentes duraciones eficientemente.
Beneficios de dominar el asincronismo
El manejo del asincronismo es una habilidad poderosa que permite desarrollar proyectos más eficientes. Puedes pausar una tarea para permitir que otra se ejecute mientras esperas respuestas del servidor, base de datos o API. Esto es especialmente útil en aplicaciones web y sistemas distribuidos, donde el tiempo de respuesta es crítico. Al entender y aplicar el asincronismo, optimizarás el rendimiento de tus aplicaciones y mejorará la experiencia del usuario al lograr tiempos de respuesta más cortos. ¡Sigue adelante en tu aprendizaje y adopta el asincronismo como una herramienta de crecimiento profesional!