Курс Python → Декораторы классов
Декораторы классов — это специальные функции, которые позволяют изменить поведение методов класса без изменения самого класса. Они позволяют добавлять дополнительную функциональность к методам класса, не изменяя их исходный код. Декораторы классов обычно определяются как обычные функции, которые принимают метод класса в качестве аргумента и возвращают новую функцию, которая заменяет исходный метод.
Пример использования декораторов классов можно увидеть на примере декоратора add_hello. Этот декоратор добавляет к методу greet класса MyClass вывод строки «Hello!» перед вызовом самого метода. Для применения декоратора к методу используется синтаксис @add_hello перед определением метода в классе. Теперь при вызове obj.greet() будет выводиться не только обычное приветствие, но и «Hello!».
class MyClass:
@add_hello
def greet(self):
print("Hello, how are you?")
def add_hello(func):
def wrapper(self):
print("Hello!")
func(self)
return wrapper
obj = MyClass()
obj.greet()
В приведенном примере декоратор add_hello принимает метод greet класса MyClass в качестве аргумента и возвращает новую функцию wrapper, которая добавляет вывод «Hello!» перед вызовом исходного метода. При вызове obj.greet() сначала будет выведено «Hello!», а затем «Hello, how are you?». Таким образом, декоратор add_hello позволяет расширить функциональность метода greet, не изменяя его исходный код.
Другие уроки курса "Python"
- Codecademy в Telegram
- Обработка данных в Python
- Оператор «not» в Python
- Асинхронное выполнение задач в процессах
- Декораторы в Python
- Вычисление времени выполнения
- Структуры данных в Python
- Настройка вывода NumPy
- Переменная Шредингера
- Преобразование регистра строк
- HTTP-запросы с библиотекой Requests
- Преобразование данных в Python
- Измерение времени выполнения кода
- Получение атрибутов и методов класса
- Логирование с Loguru
- Курс по дообучению ChatGPT
- Функции в одну строку
- Хранение переменных в словаре.
- Работа с многоуровневыми словарями в Python
- Создание словарей в Python
- Оператор match в Python
- Определение наиболее частого элемента с помощью collections.Counter
- Обязательные аргументы в Python
- Работа с YAML в Python
- Работа с collections в Python.
- Метод repr() в Python
- Использование type hints
- Преобразование строк в числа в Python
- Декораторы в Python
- Логические операторы в Python
- Работа с комплексными числами
- Подсчет частотности элементов в Python
- Функция findall() для поиска вхождений строки
- Ошибка NotImplemented в Python
- Список и кортеж в Python
- Область видимости переменных
- Применение функции map() с лямбда-функциями
- Создание списков в Python
- Инициализация переменных
- Оператор continue в Python
- Списковое включение в Python
- Проверка переменных окружения в Python
- Описание скриптов в README















