Skip to content

Solutions to exercises from the ‘Advanced Python’ course, including string manipulation, OOP, iterators, and more.

Notifications You must be signed in to change notification settings

akraeva/python-deep-dive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📘 Углублённый Python

Этот репозиторий содержит мои решения задач из курса Углублённый Python.

📌 Описание курса

Курс для тех, кто хочет разобраться в глубинных механизмах Python, научиться использовать возможности языка максимально эффективно и подготовиться к собеседованиям на Junior/Middle/Senior позиции.

🎯 Для кого курс

  • Начинающие Python-разработчики, которые уже освоили синтаксис и хотят понять, как всё работает внутри.
  • Те, кто готовится к собеседованиям и хочет закрыть пробелы в фундаментальных знаниях.
  • Студенты технических специальностей, которым не хватает практики и инженерного подхода к Python.

🎯 Требования

Чтобы пройти курс с комфортом, вам понадобятся:

  • Базовые знания Python (переменные, условия, циклы, функции).
  • Опыт работы со списками, словарями и строками.
  • Знание принципов ООП: классы, атрибуты, методы, наследование.
  • Умение запускать скрипты и работать с интерпретатором.
  • Желание разобраться в глубине, а не только писать рабочий код.

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

1. Введение

  • 1.1 О курсе
  • 1.2 С чего начать

2. Метапрограммирование

  • 2.1 Введение
  • 2.2 Дескрипторы
  • 2.3 Метаклассы
  • 2.4 Синглтон

3. Утиная типизация и контракты в Python

  • 3.1 Введение
  • 3.2 Утиная типизация
  • 3.3 typing.Protocol
  • 3.4 typing.TypeVar / Generic
  • 3.5 typing.Annotated

4. Устройство объектов в Python

  • 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. Внутреннее устройство Python

  • 5.1 GIL: Глобальная блокировка интерпретатора
  • 5.2 Reference Counting / GC: Управление памятью в Python
  • 5.3 Многозадачность

6. Завершение курса

  • 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

📎 Ссылки

About

Solutions to exercises from the ‘Advanced Python’ course, including string manipulation, OOP, iterators, and more.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages