Курс 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"
- Генераторы данных
- Возврат нескольких значений из функции
- Названия столбцов в Python таблицах
- F-строки в Python 3.8
- Методы и функции в Python
- Создание Radio кнопок в tkinter
- Импорт модулей в Python 3.12
- Автоматизация действий с Pyautogui
- Нахождение пересечения множеств
- Фильтрация списка от «ложных» значений
- Перебор элементов списка в Python
- Создание обратного итератора
- Python Метод del.
- Работа с контекст-менеджером «with»
- Создание графики с черепахой
- Добавление вложенных списков
- Удаление ресурса в Python
- Итерации в Python
- Метод setdefault() в Python
- Векторизация в Python с NumPy.
- Экспорт данных в файл.
- Оптимизация сравнения в Python
- Улучшение читаемости кода в Python
- Сравнение строк в Python
- Наиболее частотные элементы с помощью Counter
- Принципы программирования
- Преобразование в float
- Подписка на каналы разработчиков
- Сортировка HTML по CSS-селектору
- Аннотации типов в Python
- Синтаксис переменных цикла в Python
- Основные операции с библиотекой Numpy
- Активация Matplotlib в Jupyter
- Сортировка с параметром key
- Concrete Paths в Python
- Многопоточность и асинхронное программирование в Python
- Округление дробей в Python
- Документирование функций в Python
- Python Translator: создание локальных переводчиков
- Расчет времени выполнения кода
- Добавление элемента в список.
- Функции range() в Python
- Python Метод sleep() времени
- Применение функции к элементам списка
- Работа с Event() в threading
- Реверс строки в Python
- Преобразование числа в восьмеричную строку















