Этот репозиторий содержит мои решения задач из курса Углублённый Python.
Курс для тех, кто хочет разобраться в глубинных механизмах Python, научиться использовать возможности языка максимально эффективно и подготовиться к собеседованиям на Junior/Middle/Senior позиции.
- Начинающие Python-разработчики, которые уже освоили синтаксис и хотят понять, как всё работает внутри.
- Те, кто готовится к собеседованиям и хочет закрыть пробелы в фундаментальных знаниях.
- Студенты технических специальностей, которым не хватает практики и инженерного подхода к Python.
Чтобы пройти курс с комфортом, вам понадобятся:
- Базовые знания Python (переменные, условия, циклы, функции).
- Опыт работы со списками, словарями и строками.
- Знание принципов ООП: классы, атрибуты, методы, наследование.
- Умение запускать скрипты и работать с интерпретатором.
- Желание разобраться в глубине, а не только писать рабочий код.
- 1.1 О курсе
- 1.2 С чего начать
- 2.1 Введение
- 2.2 Дескрипторы
- 2.3 Метаклассы
- 2.4 Синглтон
- 3.1 Введение
- 3.2 Утиная типизация
- 3.3 typing.Protocol
- 3.4 typing.TypeVar / Generic
- 3.5 typing.Annotated
- 4.1 Введение
- 4.2 PyObject: внутреннее представление объектов
- 4.3 Создание переменных: что происходит под капотом
- 4.4 Интернирование: строки и целые числа
- 4.5 PyListObject: внутреннее устройство списков в Python
- 4.6 PyDictObject: внутреннее устройство словарей в Python
- 4.7 PyTypeObject: как устроены типы в CPython
- 4.8 Как Python вызывает методы/выполняет операции
- 4.9 Функция
len(): как работает под капотом
- 5.1 GIL: Глобальная блокировка интерпретатора
- 5.2 Reference Counting / GC: Управление памятью в Python
- 5.3 Многозадачность
- 6.1 Обратная связь
- 6.2 Финал
В курсе будут использоваться:
logging,tracemallocи другие инструменты для анализа работы Python.- Метаклассы и дескрипторы для глубокой настройки поведения классов.
- Протоколы и утинная типизация для гибкого проектирования API.
- Изучение внутреннего устройства CPython (PyObject, PyListObject, PyDictObject и т.д.).
После завершения курса вы:
- Поймёте, как работает Python «под капотом».
- Научитесь использовать метапрограммирование и контракты.
- Сможете писать более эффективный, чистый и понятный код.
- Будете уверенно чувствовать себя на собеседованиях Junior/Middle/Senior уровня.
Каждый параграф оформлен в отдельном файле.
module_2.py,test— задачи из модуля 2. Метапрограммированиеmodule_3.py,test— задачи из модуля 3. Утиная типизация и контракты в Python
- Python 3.10+
- VS Code + расширения (
Pylance,Black,Code Runner) - Git, GitHub
- Углублённый Python
- Репозиторий с решениями "PROкод: продвинутый курс по Python"
- Репозиторий с решениями "Python: основы и применение"
- Репозиторий с решениями "Алгоритмы в Python — просто, наглядно, с нуля!"
- Репозиторий с решениями курса по Python от Яндекса
- Репозиторий с решениями "Поколение Python: продвинутый уровень"
- Репозиторий с решениями "Углублённый Python"
- Репозиторий с решениями "Python | Вторая ступень | Продвинутые концепции"