Отдельно разберём TaskGroup, который пришел на замену gather в Python 3.11.
Ключевые отличия
▫️create_task() возвращает объект asyncio.Task, у которого есть соответствюущие методы управления. То есть у нас больше контроля
▫️это контекстный менеджер, который гарантирует что все таски будут остановлены по выходу из контекста
▫️ошибка автоматически отменяет незавершенные задачи,
▫️except* передает нам ExceptionGroup, в котором каждую ошибку можно обработать отдельно
import asyncio
import random
async def do_it() -> str:
if random.random() < 0.1:
raise ValueError('Oops')
delay = random.uniform(0.5, 1.5)
await asyncio.sleep(delay)
return delay
async def main():
try:
async with asyncio.TaskGroup() as tg:
for _ in range(10):
tasks.append(tg.create_task(do_it()))
for t in tasks:
print(t.result())
except *ValueError as e:
for err in e.exceptions:
print(err)
asyncio.run(main())
Рекомендую изучить страницу Coroutines and Tasks из документации, где представлено больше интересных примеров и механизмов
- таймауты
- отмена задач
- создание задач из другого потока
#async
Kalit so'zlar
Kalit so'zlar kompilyator uchun maxsus ma'nolarga ega bo'lgan oldindan belgilangan, zaxiralangan identifikatorlardir. Ular @ prefiksisiz dasturlarda identifikator sifatida ishlatilishi mumkin emas. Masalan, @if haqiqiy identifikator hisoblanadi, lekin if emas chunki bu kalit so'z bo'ladi.
👉Batafsil
👨🏫 Mentor: Abdulaziz Abduxalil-zoda
#csharp#keywords#starter#dotnet
.NET Uzbekistan Community
__________
Telegram | Instagram | Youtube
Operatorlar
Operatorlar odatda harakat yoki jarayonni (harakat va jarayonni ham bo’lishi mumkin) ifodalovchi belgidir. Ular matematika va logikani yaxshi biladigan har qanday inson uchun muammo tug’dirmaydi. Ya’ni ularning asosini aynan shular tashkil qiladi.
👉Batafsil
👨🏫 Mentor: Suxrob Xayitmurodov
#csharp#operators#starter#dotnet
.NET Uzbekistan Community
__________
Telegram | Instagram | Youtube
Ma'lumot turlari
Ma’lumotlar toifasi – bu o’zgaruvchilarning turi va xotiradan qancha joy egallashini belgilab beruvchi kerakli omil. Foydalanilgan o’zgaruvchiga to’g’ri tipni belgilash muhim vazifalardan biridir. Sababi bu orqali biz, yaratayotgan dasturimizda yuzaga keladigan ba’zi bir muammolarni oldini olishimiz, eng asosiysi vaqt tejalishi va dasturning xotiradan kamroq joy egallanishiga erishishimiz mumkin.
👉Batafsil
👨🏫 Mentor: Xondamir Abduxoshimov
#csharp#datatypes#starter#dotnet
.NET Uzbekistan Community
__________
Telegram | Instagram | Youtube
O'zgaruvchilar
Barcha dasturlash tillarida eng ahamiyatli o’rinlardan birida turadigan, hamda ko’pchilikka ilk dasturlashni boshlash chog’larida muammo bo’lishga ulgurgan, ushbu mavzu to’g’risida yaqin daqiqalar ichida tushunmovchiliklarga barham beramiz.
👉Batafsil
👨🏫 Mentor: Xondamir Abduxoshimov
#csharp#variables#starter#dotnet
.NET Uzbekistan Community
__________
Telegram | Instagram | Youtube
For operatori
Umuman olganda kod yozayotganingizda bir xil hisoblash jarayonini qayta-qayta yozish qimmatli vaqtingizni o'g'irlab sizni bezor qilishi mumkin, masalan siz “Salom, Dunyo!” jumlasini 100 marta yozishingiz zarur bo’lib qoldi.Siz uni qayta qayta yozib chiqgan bo’larmidingiz, yo’q albatta.
👉Batafsil
👨🏫 Mentor: Suxrob Xayitmurodov
#csharp#for#loop#starter
.NET Uzbekistan Community
__________
Telegram | Instagram | Youtube
Switch operatori
Tanlash operatori bizga bir nechta qiymatlardan, o’zgaruvchilarga to’g’ri keluvchi qiymatni tanlashda va uni ishga tushirishda ishlatiladi. Misol uchun, hafta kunlarini raqamidan topish topshiriq sifatida berildi. Ularni bemalol topishimiz mumkin, lekin kompyuterga uni qanday tushuntiramiz?
👉Batafsil
👨🏫 Mentor: Suxrob Xayitmurodov
#csharp#switch#choice#starter
.NET Uzbekistan Community
__________
Telegram | Instagram | Youtube
IF-ELSE
C# dasturlash tilida if-else lar bilan tanishamiz (Men tanishman siz tanishasiz) Biz hayotda juda ko’p if va else ni ishlatganmiz. “IF” so’zi o’zbek tiliga “Agar” deb tarjima qilinadi. Keling avval ifni o’zini o’rganib olaylik : Misol: “Agar bir qop pulim bo’lsa, albatta ularni hammasini yoqib yuborgan bo’lar edim”.
👉Batafsil
👨🏫 Mentor: Sobirjonov O'tkirbek
#csharp#if#else#conditions#starter#dotnet
.NET Uzbekistan Community
__________
Telegram | Instagram | Youtube