Улучшаемые навыки
CPython internals
Управление памятью
Garbage Collection
GIL
Asyncio под капотом
Метапрограммирование
ООП и паттерны проектирования
Локальное профилирование
Идиомы Python
Инструменты
Python
Чему вы научитесь
01
Понимать архитектуру CPython: сборка мусора, Reference Counting, Generational GC.
02
Использовать продвинутое ООП: множественное наследование (MRO), дескрипторы, метаклассы, паттерны.
03
Выбирать модели конкурентности с учётом GIL: threading, multiprocessing, asyncio.
04
Работать с Event Loop: корутины, таски, блокировки.
05
Профилировать код: поиск утечек памяти и узких мест CPU.
06
Писать идиоматичный Python-код, уходя от стиля Java/C#.
Как проходит обучение
Практика — 60 % времени. Формат «Break & Fix»: слушатели не пишут код с нуля, а отлаживают и оптимизируют заведомо проблемные решения. В фокусе — профилирование памяти и CPU, устранение блокировок Event Loop, внедрение паттернов через дескрипторы и метаклассы.
Программа курса
01
Объектная модель и идиомы Python (Pythonic Code)
Data Model Python: архитектура объектов, магические методы (dunder), перегрузка операторов.
Итераторы, ленивые вычисления, генераторы (yield from).
Контекстные менеджеры: написание собственных
Duck Typing («утиная типизация») вместо строгих интерфейсов: Python vs Java/C# парадигмы.
02
Продвинутое ООП и метапрограммирование
Множественное наследование и и алгоритм линеаризации (MRO C3).
Дескрипторы данных и не-данных (property под капотом).
slots: экономия памяти.
Метаклассы: перехват и модификация создания классов.
Адаптация паттернов GoF под Python.
03
Внутреннее устройство CPython и управление памятью
Компиляция в байт-код, анализ через dis.
Подсчёт ссылок (Reference Counting).
Поколенческий сборщик мусора (Generational GC).
Циклические ссылки и weakref.
Поиск утечек памяти в долгоживущих процессах.
04
Строгая типизация и ее ограничения
Продвинутый модуль typing: Generics, TypeVar, Callable.
Ковариантность и контравариантность в Python.
Настройка mypy в строгом режиме.
Runtime vs Static time: границы применимости типизации.
05
Конкурентность ч.1: GIL, Потоки и Процессы
GIL: что реально блокирует, концепция Free-threading в Python 3.13.
threading: границы применимости для I/O-bound задач.
multiprocessing: обход GIL в CPU-bound задачах.
IPC: очереди и разделяемая память
06
Конкурентность ч.2: Асинхронность под капотом
Архитектура asyncio: Event Loop, футуры, таски, корутины.
Почему async не ускоряет CPU-bound код.
Блокировка Event Loop и run_in_executor.
Конкурентное выполнение и отмена задач (cancellation).
07
Профилирование и оптимизация локального кода
Инструменты профилирования CPU: cProfile, yappi, SnakeVi.z
Построчное профилирование памяти: memory_profiler.
Анализ алгоритмической сложности узких мест.
C-оптимизации и кэширование: functools.lru_cache.
08
ИИ-ассистент для работы с Python: делегирование рутины и безопасность
ИИ в работе: поиск багов, шаблоны кода, регулярные выражения, генерация тестов.
Корпоративная безопасность: что нельзя передавать в публичные нейросети.
Галлюцинации ИИ и обязательный аудит сгенерированного кода.
09
Итоговый практикум: Архитектурный рефакторинг
Разбор комплексного легаси-кода.
Code Review решений преподавателем.
Границы применимости Python в Enterprise.
Защита оптимизированных решений.
10
Итого на курс 40 ак. ч.: теория — 15 ак. ч. (38%), практика — 25 ак. ч. (62%)
Для кого
Разработчик
Руководитель группы\Тимлид
Архитектор ПО
Предварительная подготовка
Опыт коммерческой разработки на Python (от 1 года) ИЛИ уверенное владение другим ООП-языком (Java, C#, C++) + прохождение встроенного нулевого модуля «Fast-Track синтаксис». Опыт работы с классами обязателен.