Özet - Async temelleri
- Python kursu
- İleri seviye
- Ders 30/83
- 5 dk
async/await ve create_task'ı birleştirerek paralel bir indirme yazarsın.
Özet - Async temelleri
Bu grupta async temellerini gördün. async def bir coroutine tanımlar; await bekleme noktası işaretler; asyncio.run en üstten çalıştırır; asyncio.sleep bloklamadan bekler; create_task arka planda Task oluşturur.
Son görevde async def, await ve asyncio.run'u bir arada kullanacaksın: bir coroutine'i await ile başka bir coroutine'den çağıracaksın.
Uygulama async def + await birleşimi
import asyncio ile başla. async def inner() fonksiyonu return 5 yapsın. async def fetch() fonksiyonu return await inner() + 1 yapsın. print(asyncio.run(fetch())) çağrısını ekle.
Başlangıç kodu
# asyncio modülünü içe aktar
# inner adında bir coroutine tanımla; 5 döndürsün
# fetch adında bir coroutine tanımla; inner'ı bekle, 1 ekle ve döndür
# fetch çağrısının sonucunu asyncio.run ile yazdırÖrnek çözüm
import asyncio
async def inner():
return 5
async def fetch():
return await inner() + 1
print(asyncio.run(fetch()))Beklenen çıktı
6
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir coroutine'i en üstten çalıştıran fonksiyon hangisi?
- asyncio.run Doğru cevap
- create_task
- asyncio.sleep
- time.sleep
Açıklama: asyncio.run bir coroutine'i en üstten çalıştırır.
2 Özet: async/await
async def fetch():
____ inner()
async def fetch():
await inner()
Açıklama: await inner() ile bir başka coroutine beklenir.
3 Grup araçlarını eşleştir
| Kavram | Anlamı |
|---|---|
async def |
Coroutine tanımlar |
await |
Bekleme noktası |
asyncio.run |
En üstten çalıştırır |
create_task |
Arka plan Task |