Мы используем cookie для стабильной работы сервиса. Подробнее

Асинхронный Python

ФорматОнлайн
Длительность15 минут в день
Объём11 занятий
О курсе

Подробнее

Цель курса: Предоставить учащимся все необходимые знания и навыки для эффективного использования асинхронного программирования в своей работе, и создать активное сообщество студентов для обмена опытом.    Почему стоит выбрать именно этот курс: Курс хорошо структурирован и содержит много полезной и актуальной информации, что делает его идеальным для новичков и тех, кто уже знаком с асинхронным программированием; Курс стремится быть всеобъемлющим и покрыть все аспекты асинхронного программирования; У нас есть дружелюбное и отзывчивое сообщество, которое всегда готово помочь и ответить на ваши вопросы в телеграм чате; Курс будет развиваться в дальнейшем. Автор планирует добавить много дополнительных материалов, что делает этот курс инвестицией в ваше долгосрочное обучение. Вы не просто получите доступ к текущему набору материалов, но и к будущим обновлениям, которые помогут вам оставаться в курсе последних тенденций в асинхронном программировании, без каких-либо доплат.
Требования

Что нужно для старта

  • Основы Python: Вы должны быть знакомы с основами языка Python, включая синтаксис, типы данных, операторы, циклы и функции. Это необходимо, поскольку курс предполагает, что вы уже знаете основы и готовы перейти к более сложным темам.
  • Мотивация и готовность к обучению: Асинхронное программирование может быть сложной темой, и вам потребуется время и усилия для его освоения. Важно быть готовым к обучению и иметь желание развиваться в этой области.
Результат

Что вы получите

  • Понимать основные концепции и принципы асинхронного программирования;
  • Применять асинхронное программирование с использованием библиотеки asyncio;
  • Использовать ключевые слова async и await для написания асинхронного кода;
  • Решать распространенные проблемы асинхронного программирования, такие как гонки и взаимные блокировки и др;
  • Научитесь мыслить нелинейно и сможете продумывать более сложные архитектуры приложений;
  • Разберётесь, как решать типовые задачи, в которых используется асинхронность;
  • Применять полученные знания на практике через реальные проекты;
  • Применять асинхронные концепции для создания масштабируемых и отказоустойчивых систем;
  • Оптимизировать производительность вашего кода с помощью асинхронных паттернов и инструментов;
  • Понимать преимущества и ограничения асинхронного подхода и выбирать наиболее подходящие решения для конкретных задач;
  • Быть уверенным в написании асинхронного кода и готовым применять эти навыки в реальных проектах;
Аудитория

Для кого этот курс

  • Курс идеально подходит как для новичков, так и для тех, кто уже знаком с asyncio. Он содержит огромное количество актуальной, полезной и нужной информации, которая поможет вам освоить асинхронный подход в программировании, который становится все более важным и востребованным в современном IT.
Содержание

Программа курса

11 занятий
ТемаЧто внутри
01Начало

- Введение

02Основы асинхронного программирования

- Введение в асинхронность
- Основные преимущества asyncio
- IO bound и CPU bound
- В каких задачах полезно асинхронное программирование
- В каких задачах бесполезно асинхронное программирование
- GIL

03Awaitable объекты

- Основные элементы asyncio
- Coroutines / Корутины
- Task / Задачи
- Future / Футуры
- Awaitable объекты
- Ключевое слово await
- Цикл событий (event loop)

04Основы работы с Asyncio

- Основные методы asyncio
- Запуск цикла событий
- Асинхронный сон
- Создание задач
- Создание задач, часть 2
- Одновременное выполнение корутин
- Предотвращаем "зависание" корутин
- Ожидание группы корутин
- Получение результатов от группы задач по мере завершения
- Создаём новый цикл событий
- Устанавливаем цикл событий по умолчанию
- Получаем ссылку на текущий цикл событий
- Получаем доступ к текущему циклу событий
- Запуск блокирующих функций в отдельном потоке
- Контекстные переменные

05Работа с задачами / task

- Введение в задачи / task
- Основные методы управления задачами / task
- Проверка статуса задачи
- Получение результата выполнения задачи
- Работа с текущей задачей
- Получение всех задач в цикле событий
- Установка и получение имени задачи
- Работа с исключениями внутри задачи
- Работа с отменой задач
- Получение информации о состоянии цикла событий и корутин
- Работа с асинхронным стеком вызова
- Работа Сallback функции 
- Защита корутины от отмены
- Работа с группой задач TaskGroup()
- Решаем задачи

06Асинхронные конструкции

- async with
- async for

07Проблемы синхронизации

- Состояние гонки
- Атомарность операций
- Мьютекс (mutex)
- Решаем проблему состояния гонки
- Deadlock

08Работа с очередями в Asyncio

- Введение в очереди
- Очередь FIFO
- Очередь LIFO
- Очередь Priority

09Базовые примитивы синхронизации Asyncio

- Введение в примитивы
- Защита ресурса от одновременного доступа
- Ожидание событий для синхронизации доступа
- Синхронизация задач
- Принцип простого семафора
- Принцип ограниченного семафора
- Реализация барьера для защиты одновременного доступа

10aiofiles

- Введение в асинхронное чтение файлов
- Aiofiles введение
- Основные методы и параметры аiofiles
- Методы асинхронного файлового объекта
- Контроль знаний
- Основные методы аiofiles.os
- Контроль знаний
- Асинхронная работа с CSV-файлами
- Решаем задачи

11aiohttp

- Введение в aiohttp
- Методы клиентской сессии, часть 1
- Методы клиентской сессии, часть 2
- Жизненный цикл HTTP-запроса
- Работа с Cookies
- Работа с прокси
- HTTP заголовки
- Основы работы с исключениями в aiohttp
- Решаем задачи

01Начало

- Введение

02Основы асинхронного программирования

- Введение в асинхронность
- Основные преимущества asyncio
- IO bound и CPU bound
- В каких задачах полезно асинхронное программирование
- В каких задачах бесполезно асинхронное программирование
- GIL

03Awaitable объекты

- Основные элементы asyncio
- Coroutines / Корутины
- Task / Задачи
- Future / Футуры
- Awaitable объекты
- Ключевое слово await
- Цикл событий (event loop)

04Основы работы с Asyncio

- Основные методы asyncio
- Запуск цикла событий
- Асинхронный сон
- Создание задач
- Создание задач, часть 2
- Одновременное выполнение корутин
- Предотвращаем "зависание" корутин
- Ожидание группы корутин
- Получение результатов от группы задач по мере завершения
- Создаём новый цикл событий
- Устанавливаем цикл событий по умолчанию
- Получаем ссылку на текущий цикл событий
- Получаем доступ к текущему циклу событий
- Запуск блокирующих функций в отдельном потоке
- Контекстные переменные

05Работа с задачами / task

- Введение в задачи / task
- Основные методы управления задачами / task
- Проверка статуса задачи
- Получение результата выполнения задачи
- Работа с текущей задачей
- Получение всех задач в цикле событий
- Установка и получение имени задачи
- Работа с исключениями внутри задачи
- Работа с отменой задач
- Получение информации о состоянии цикла событий и корутин
- Работа с асинхронным стеком вызова
- Работа Сallback функции 
- Защита корутины от отмены
- Работа с группой задач TaskGroup()
- Решаем задачи

06Асинхронные конструкции

- async with
- async for

07Проблемы синхронизации

- Состояние гонки
- Атомарность операций
- Мьютекс (mutex)
- Решаем проблему состояния гонки
- Deadlock

08Работа с очередями в Asyncio

- Введение в очереди
- Очередь FIFO
- Очередь LIFO
- Очередь Priority

09Базовые примитивы синхронизации Asyncio

- Введение в примитивы
- Защита ресурса от одновременного доступа
- Ожидание событий для синхронизации доступа
- Синхронизация задач
- Принцип простого семафора
- Принцип ограниченного семафора
- Реализация барьера для защиты одновременного доступа

10aiofiles

- Введение в асинхронное чтение файлов
- Aiofiles введение
- Основные методы и параметры аiofiles
- Методы асинхронного файлового объекта
- Контроль знаний
- Основные методы аiofiles.os
- Контроль знаний
- Асинхронная работа с CSV-файлами
- Решаем задачи

11aiohttp

- Введение в aiohttp
- Методы клиентской сессии, часть 1
- Методы клиентской сессии, часть 2
- Жизненный цикл HTTP-запроса
- Работа с Cookies
- Работа с прокси
- HTTP заголовки
- Основы работы с исключениями в aiohttp
- Решаем задачи

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Асинхронный Python» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Направления:Python-разработка

Информация обновлена 12 августа 2026 г.

Продолжить выбор

Похожие курсы

Начать без затрат

Бесплатные курсы