Курс на Stepik
Обложка курса «Python: полный путь от нуля до async и проектов» на Stepik
2 490 ₽

Python: полный путь от нуля до async и проектов ★ 0.000

Открыть на
STEPIK.ORG

Три уровня Python в одном комплекте: от первой команды и мини-проектов до ООП, API, SQLite, тестов, архитектуры, async, многозадачности и профилирования.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Python: полный путь от нуля до async и проектов»Учеников на курсе 1
Сертификаты, выданные на курсе «Python: полный путь от нуля до async и проектов»Сертификатов выдано 0
Отзывы о курсе «Python: полный путь от нуля до async и проектов»Отзывов получено 0
Рейтинг курса «Python: полный путь от нуля до async и проектов»Рейтинг курса 0.000
Уроки в курсе «Python: полный путь от нуля до async и проектов»Количество уроков 216
Тесты в курсе «Python: полный путь от нуля до async и проектов»Количество квизов 416
Задачи с кодом в курсе «Python: полный путь от нуля до async и проектов»Количество задач с кодом 758
Время прохождения курса «Python: полный путь от нуля до async и проектов»Время прохождения курса —
Стоимость курса «Python: полный путь от нуля до async и проектов»Стоимость курса 2 490 ₽ —
Обновления курса «Python: полный путь от нуля до async и проектов»Обновления курса — —
Дата публикации курса «Python: полный путь от нуля до async и проектов»Дата публикации курса — ———
Последнее обновление курса «Python: полный путь от нуля до async и проектов»Последнее обновление — ———
Сложность easy — ———

Содержание курса

Разделы в курсе «Python: полный путь от нуля до async и проектов» 37 разделов Уроки в курсе «Python: полный путь от нуля до async и проектов» 216 уроков Тесты в курсе «Python: полный путь от нуля до async и проектов» 416 тестов Задачи в курсе «Python: полный путь от нуля до async и проектов» 758 задач Время прохождения курса «Python: полный путь от нуля до async и проектов» 1 ч. Последнее обновление курса «Python: полный путь от нуля до async и проектов» обн. 7 июля 2026

0. Как пройти полный путь Python

1 урок
1. Ваш маршрут: от первой строки до взрослого проекта ↗

Часть 1 · Старт

5 уроков
1. Что такое программа и как Python выполняет код ↗
2. Первая команда: print() ↗
3. Несколько команд и несколько строк ↗
4. Как читать код и предсказывать результат ↗
5. Ошибки, внимательность и мини-итог ↗

Часть 1 · Переменные и вычисления

6 уроков
1. Переменные: как программа хранит данные ↗
2. Ввод данных через input() ↗
3. Почему input() — это текст. Преобразование типов ↗
4. Арифметические операции и вычисления ↗
5. Целочисленное деление, остаток, работа с цифрами числа ↗
6. Мини-проекты и итог блока ↗

Часть 1 · Условия

6 уроков
1. Что такое условие. Простое if ↗
2. Полное ветвление: if/else ↗
3. Несколько вариантов: if/elif/else ↗
4. Составные условия: and, or, not ↗
5. Типовые шаблоны задач на условия ↗
6. Итог блока ↗

Часть 1 · Циклы

6 уроков
1. Повторение действий и цикл while ↗
2. Цикл for и range() ↗
3. Счётчик, накопитель, пошаговое изменение переменных ↗
4. Цикл + условие: подсчёт, отбор, поиск ↗
5. Типовые шаблоны задач на циклы ↗
6. Итоговые задачи и закрепление ↗

Часть 1 · Строки

6 уроков
1. Что такое строка. Индексы и длина ↗
2. Срезы строк ↗
3. Циклы по строкам и обработка символов ↗
4. Методы строк ↗
5. Типовые задачи на обработку текста ↗
6. Итог блока ↗

Часть 1 · Списки

6 уроков
1. Что такое список. Создание, индексы, длина ↗
2. Изменение элементов и обход списка ↗
3. Ввод списка и работа с split() ↗
4. Методы списков ↗
5. Типовые задачи на списки ↗
6. Итог блока ↗

Часть 1 · Функции

6 уроков
1. Зачем нужны функции. Первая функция ↗
2. Функции с параметрами ↗
3. Возврат результата через return ↗
4. Локальные переменные и проектирование функции ↗
5. Декомпозиция: как разбивать задачу на функции ↗
6. Итог блока ↗

Часть 1 · Словари и множества

6 уроков
1. Что такое словарь. Создание, доступ, изменение ↗
2. Перебор словаря и типовые словарные задачи ↗
3. Что такое множество. Уникальность и базовые операции ↗
4. Методы словарей и множеств ↗
5. Типовые задачи на словари и множества ↗
6. Итог блока ↗

Часть 1 · Полезные Python-приёмы

6 уроков
1. Кортежи и распаковка ↗
2. Удобный перебор: enumerate() ↗
3. Работа с несколькими коллекциями: zip() ↗
4. Списочные включения ↗
5. Полезные встроенные функции ↗
6. Итог блока ↗

Часть 1 · Файлы и модули

6 уроков
1. Что такое файл. Чтение из файла ↗
2. Построчная обработка файлов ↗
3. Запись и дозапись в файл ↗
4. Модули math и random ↗
5. Типовые задачи на файлы и модули ↗
6. Итог блока ↗

Часть 1 · Ошибки и обработка исключений

6 уроков
1. Ошибки — это нормально. Типы ошибок ↗
2. Как читать traceback и искать проблему ↗
3. Логические ошибки и отладка ↗
4. Обработка исключений: try/except ↗
5. Типовые надёжные сценарии ↗
6. Итог блока ↗

Часть 1 · Мини-проекты и итог курса

6 уроков
1. Как подходить к мини-проекту ↗
2. Проект 1: Консольный калькулятор ↗
3. Проект 2: Анализатор текста ↗
4. Проект 3: Учёт расходов ↗
5. Проект 4: Викторина ↗
6. Финальный проект: Менеджер заметок ↗

Часть 2 · Блок 1. Повторение базы через более взрослые задачи

6 уроков
1. Новый уровень задач: от отдельных тем к целой программе ↗
2. Декомпозиция: разбить задачу на части до кода ↗
3. Работа с данными в одной программе ↗
4. Рефакторинг: как улучшать плохой код ↗
5. Проверка программы: ручные тесты и граничные случаи ↗
6. Мини-проект: Отчёт по результатам учеников ↗

Часть 2 · Блок 2. Модули, пакеты и структура проекта

6 уроков
1. Зачем делить код на файлы. Что такое модуль ↗
2. Импорт модулей и формы импорта ↗
3. Свои модули и повторное использование кода ↗
4. Точка входа программы и if __name__ == "__main__" ↗
5. Пакеты и структура проекта ↗
6. Мини-проект: Менеджер заметок ↗

Часть 2 · Блок 3. ООП: классы и объекты

6 уроков
1. Зачем нужны классы и объекты ↗
2. Первый класс, объект, атрибуты ↗
3. __init__ и self ↗
4. Методы объекта ↗
5. Когда класс лучше словаря и функций ↗
6. Мини-проект: Менеджер задач на классах ↗

Часть 2 · Блок 4. ООП глубже: наследование, композиция, свойства

6 уроков
1. Наследование: базовый и дочерний класс ↗
2. Переопределение методов и super() ↗
3. Композиция против наследования ↗
4. Свойства и аккуратный доступ к данным (@property) ↗
5. Удобные объекты: __str__, __repr__, dataclass ↗
6. Мини-проект: Мини-магазин ↗

Часть 2 · Блок 5. Итераторы, генераторы и yield

6 уроков
1. Итерируемые объекты и итераторы ↗
2. iter() и next(): как for работает под капотом ↗
3. Генераторные функции и yield ↗
4. Генераторные выражения и list comprehension ↗
5. Типовые сценарии применения генераторов ↗
6. Мини-проект: потоковый анализ данных ↗

Часть 2 · Блок 6. Декораторы и контекстные менеджеры

6 уроков
1. Функции как объекты и вложенные функции ↗
2. Первый декоратор ↗
3. Практичные декораторы: *args, **kwargs, wraps ↗
4. Что такое контекстный менеджер и with ↗
5. Свой контекстный менеджер ↗
6. Мини-проект: анализатор с логами и таймером ↗

Часть 2 · Блок 7. JSON и CSV: работа с форматами данных

6 уроков
1. Что такое JSON и его связь с Python ↗
2. Чтение и запись JSON: json.load и json.dump ↗
3. CSV: чтение табличных данных ↗
4. Запись CSV и обработка таблиц ↗
5. Когда использовать JSON, а когда CSV ↗
6. Мини-проект: анализ товаров из JSON и CSV ↗

Часть 2 · Блок 8. Работа с сетью и API

6 уроков
1. Что такое API и первый запрос ↗
2. Ответ сервера: status_code, text, json() ↗
3. Параметры запроса и работа с JSON-ответом ↗
4. Ошибки сети и надёжная работа с API ↗
5. Типовые API-сценарии ↗
6. Мини-проект: клиент API пользователей ↗

Часть 2 · Блок 9. SQLite и базы данных

6 уроков
1. Зачем нужна база данных. SQLite и таблицы ↗
2. Создание таблиц и добавление данных ↗
3. Чтение данных: SELECT, WHERE, ORDER BY ↗
4. Обновление и удаление данных: UPDATE и DELETE ↗
5. Агрегация и проектирование таблиц ↗
6. Мини-проект: менеджер задач на SQLite ↗

Часть 2 · Блок 10. Тестирование и качество кода

6 уроков
1. Зачем нужны тесты ↗
2. Первый автоматический тест и pytest ↗
3. Хорошие тестовые случаи и граничные сценарии ↗
4. Тестирование функций, классов и модулей ↗
5. Качество кода: читаемость и рефакторинг ↗
6. Мини-проект: библиотека с тестами ↗

Часть 2 · Блок 11. Типизация, venv, pip и инструменты

6 уроков
1. Зачем нужна типизация в Python ↗
2. Аннотации коллекций и Optional ↗
3. pip, зависимости и виртуальное окружение venv ↗
4. requirements.txt и воспроизводимость проекта ↗
5. Форматтер, линтер и проверка типов ↗
6. Мини-проект: оформить проект по-взрослому ↗

Часть 2 · Блок 12. Финальные проекты

6 уроков
1. Как подходить к взрослому Python-проекту ↗
2. Проект 1: Менеджер задач с SQLite ↗
3. Проект 2: Клиент внешнего API ↗
4. Проект 3: Анализатор табличных данных ↗
5. Финальный проект: Трекер расходов ↗
6. Завершение курса и следующий шаг ↗

Часть 3 · Архитектура Python-проекта

6 уроков
1. Когда проект начинает разваливаться ↗
2. Разделение ответственности: кто за что отвечает ↗
3. Простые слои приложения ↗
4. Проектирование структуры проекта ↗
5. Архитектурные запахи и рефакторинг ↗
6. Мини-проект блока ↗

Часть 3 · Функции глубже

6 уроков
1. Функции как объекты и higher-order functions глубже ↗
2. Замыкания (closures) и функции-фабрики ↗
3. Практика closures: конфигурация поведения ↗
4. Декораторы глубже: надежные обертки ↗
5. Декораторы с параметрами и реальные кейсы ↗
6. Мини-проект блока ↗

Часть 3 · Итераторы и генераторы

6 уроков
1. Протокол итерации глубже ↗
2. Собственные итераторы и итерируемые классы ↗
3. Генераторы глубже и yield from ↗
4. Генераторные пайплайны ↗
5. itertools на практике ↗
6. Мини-проект блока ↗

Часть 3 · Контекстные менеджеры

6 уроков
1. with как общий шаблон управления ресурсом ↗
2. Класс-контекст: __enter__ и __exit__ ↗
3. contextlib и @contextmanager ↗
4. Временные состояния и безопасные границы ↗
5. Контекстное и транзакционное мышление ↗
6. Мини-проект блока ↗

Часть 3 · Продвинутое ООП и проектирование моделей

6 уроков
1. Хорошие и плохие объектные модели ↗
2. Композиция как главный инструмент моделирования ↗
3. ABC и общий интерфейс ↗
4. Mixins и повторное использование поведения ↗
5. dataclass глубже и value objects ↗
6. Мини-проект блока ↗

Часть 3 · Исключения, логирование и надежность

6 уроков
1. Исключения как часть архитектуры ↗
2. Где ловить ошибку, а где пробрасывать выше ↗
3. Свои исключения и иерархия ошибок ↗
4. Логирование через logging ↗
5. Retry, backoff, fail-fast и graceful degradation ↗
6. Мини-проект блока ↗

Часть 3 · Асинхронность: async, await и event loop

6 уроков
1. Зачем нужна асинхронность ↗
2. async def, coroutine function и await ↗
3. Event loop и переключение задач ↗
4. Где async полезен, а где нет ↗
5. Проектирование простого async-кода ↗
6. Мини-проект блока ↗

Часть 3 · Асинхронность на практике

6 уроков
1. Несколько async-задач и gather ↗
2. Task orchestration и create_task ↗
3. Timeouts и cancellation ↗
4. Ограничение параллелизма через semaphore ↗
5. Async API client и частичные сбои ↗
6. Мини-проект блока ↗

Часть 3 · Потоки, процессы и многозадачность

6 уроков
1. Concurrency vs parallelism: карта местности ↗
2. Потоки: threading для ожидания и блокирующих библиотек ↗
3. Процессы: multiprocessing для CPU-bound задач ↗
4. GIL на человеческом уровне ↗
5. concurrent.futures: удобный вход в pools ↗
6. Мини-проект блока ↗

Часть 3 · Производительность и профилирование

6 уроков
1. Почему нельзя оптимизировать без измерения ↗
2. timeit и честное сравнение вариантов ↗
3. Профилирование и поиск bottleneck ↗
4. Типы bottleneck: алгоритм, структура данных, I/O, память ↗
5. Кэширование, ленивость и разумные оптимизации ↗
6. Мини-проект блока ↗

Часть 3 · CLI, packaging и оформление взрослого инструмента

6 уроков
1. От скрипта к инструменту: зачем нужен CLI ↗
2. CLI через argparse ↗
3. Проектирование команд, subcommands и help ↗
4. Конфигурация: аргументы, config file, env ↗
5. Packaging, структура пакета и entry points ↗
6. Мини-проект блока ↗

Часть 3 · Финальные проекты

6 уроков
1. Как подходить к advanced Python-проекту ↗
2. Проект 1 — асинхронный агрегатор источников ↗
3. Проект 2 — конвейер обработки данных и логов ↗
4. Проект 3 — CLI-инструмент для пакетной обработки ↗
5. Выпускной интеграционный проект ↗
6. Завершение курса и маршруты дальше ↗