async y await en Python
Definir corrutinas y esperarlas en un bucle de eventos.
import asyncio
async def preparar(bebida, segundos):
print(f"preparando {bebida}...")
await asyncio.sleep(segundos)
return f"{bebida} lista"
async def principal():
cafe = await preparar("café", 0.1)
te = await preparar("té", 0.1)
return [cafe, te]
bebidas = asyncio.run(principal())
Cómo funciona
async defdeclara una función corrutina.awaitsuspende hasta que la tarea esperada resuelve.asyncio.run(principal())conduce todo el asunto.
Palabras clave y builtins usados aquí
asyncawaitdefprintreturn
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 288
- Tokens
- 81
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 49 segundos.
Paso 1 de 4 en Async; paso 24 de 53 en Python pythónico.