Чему вы научитесь
- Понимать фундаментальные концепции, лежащие в основе декораторов: функции как объекты первого класса и замыкания.
- Создавать собственные декораторы с нуля для любых задач.
- Писать универсальные декораторы, которые работают с любыми аргументами (*args, **kwargs).
- Сохранять метаданные функций при помощи @functools.wraps, как это делают профессионалы.
- Решать практические задачи: измерять время выполнения кода, логировать вызовы функций и кэшировать "дорогие" вычисления.
- Создавать настраиваемые декораторы, принимающие аргументы (например, @retry(times=3)).
- Использовать классы для создания декораторов с состоянием (stateful decorators).
- Уверенно применять встроенные декораторы: @staticmethod, @classmethod и @property.
О курсе
Для кого этот курс
Начальные требования
Для комфортного прохождения курса вам необходимо:
-
Уверенное знание основ синтаксиса Python: переменные, типы данных (строки, числа, списки, словари), условные операторы (if/else), циклы (for, while).
-
Умение писать и вызывать функции, понимать, что такое аргументы и возвращаемые значения.
-
Базовое понимание объектно-ориентированного программирования (ООП) в Python: что такое класс, экземпляр класса, метод и атрибут (self).
Преподаватели курса
Как проходит обучение
Курс полностью текстовый и состоит из модулей, разделенных на короткие уроки.
-
Теория: Каждый урок начинается с подробного теоретического блока, написанного простым и понятным языком.
-
Практика: Сразу после теории вас ждет серия практических задач по программированию.
-
Автоматическая проверка: Вы пишете код прямо в браузере, а система Stepik мгновенно проверяет его и дает обратную связь.
-
Постепенное усложнение: Задачи плавно нарастают по сложности, закрепляя пройденный материал и подготавливая вас к следующей теме.
Что вы получите
- Глубокое понимание одной из ключевых тем продвинутого Python.
- Практический навык написания чистого, модульного и переиспользуемого кода.
- Способность читать и понимать исходный код профессиональных библиотек и фреймворков.
- Повышение своего профессионального уровня как Python-разработчика.