تمرینات آموزش ماژول Asyncio – مروری بر Coroutine

Please login to bookmark Close

این تمرین‌ها بر پایه‌ی درس مروری بر coroutine هستند.

تمرین ۱ (مفهومی)

کدام دو ویژگی یک تابع معمولی را به یک coroutine تبدیل می‌کنند؟ یعنی تعریف یک coroutine باید چه دو شرطی داشته باشد؟

تمرین ۲ (مفهومی)

اگر یک coroutine را عیناً مثل یک تابع معمولی فراخوانی کنیم (بدون await و بدون asyncio.run)، چه اتفاقی می‌افتد و چرا؟

تمرین ۳ (مفهومی)

چرا برای شبیه‌سازی یک عملیات زمان‌بر درون یک coroutine نمی‌توانیم از time.sleep استفاده کنیم؟ به‌جایش از چه تابعی باید استفاده کرد؟

تمرین ۴ (مفهومی)

از بین سه روش اجرای coroutine، کدام روش باعث می‌شود coroutineها یکی پس از دیگری اجرا شوند نه هم‌زمان؟ و کدام روش برای اجرای هم‌زمان چند coroutine توصیه می‌شود؟

تمرین ۵ (کد)

توضیح دهید چرا صداکردن دو بار asyncio.run پشت‌سرهم، کارها را ترتیبی اجرا می‌کند. سپس کد را طوری بازنویسی کنید که دو دانلود واقعاً هم‌زمان اجرا شوند.

تمرین ۶ (کد)

یک coroutine به نام download_file(name) بنویسید و با create_task و gather پنج فایل را هم‌زمان دانلود کنید و زمان کل را چاپ کنید.

Please login to bookmark Close
نظرات

دیدگاهتان را بنویسید

فهرست مطالب

سرفصل دوره

تمرین

این قسمت تمرین ندارد!

پاسخ تمرین ها

هنوز برای تمرین‌های این قسمت پاسخی ثبت نشده است!

اشتراک گذاری

چرا بهتره از فیلترشکن استفاده کنید؟

من همه ویدئو ها و پادکست های کُدباز رو توی یوتیوب و ساندکلود و پلتفرم هایی آپلود می‌کنم که اغلب فیلتر هستند.

اغلب آموزش‌ها ویدئو و پادکست دارند. پس اگر می‌خواهید از محتوای سایت بیشترین استفاده رو ببرید نیاز به فیلتر شکن دارید.

توجه داشته باشید که برای خرید از فروشگاه بهتره فیلتر شکن رو خاموش کنید.

تنظیمات

انتخاب زبان
تغییر تم