Курс 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
- Импорт в Python: список all
- Обработка исключений в Python 3
- Работа с классами данных
- Отладка в Python
- Библиотека schedule: планировщик задач
- Получение размера объекта с sys.getsizeof()
- Тернарный оператор в Python
- Создание пар из последовательностей
- Работа с массивами в Python
- Функции all() и any() в Python
- ROT13 Шифр Цезаря в Python
- Форматирование заголовков в Python
- Отслеживание выполнения программы с библиотекой tqdm
- Очистка данных в Python
- Контекстный менеджер в Python
- Обработка исключений в Python
- Возврат нескольких значений
- Python: возвращение нескольких значений
- Работа с Telegram API на Python
- Генератор данных в Keras
- Назначение максимального и минимального значения переменной в Python.
- Потоковый ввод в Python
- Измерение потребления памяти при сортировке
- Работа с геоданными с помощью geopy
- Форматирование строк с % в Python
- Замыкания в Python
- Замена подстроки
- Изучение объектов с помощью dir()
- Анонимные функции Lambda
- Функция enumerate в Python
- Метод count в Python: почему count(», ») возвращает 4?
- Оператор распаковки в Python
- Структуры данных в Python
- 9 уловок для чистого кода
- Конкатенация строк с join() в Python
- Объединение, распаковка и деструктуризация
- Загрузка постов Instagram
- Работа с кортежами
- Принципы программирования
- Функция zip() — объединение последовательностей
- Работа со словарями Python
- Вывод символов строки в Python
- Выключение компьютера с помощью Python
- Модуль xkcd: добавление юмора в Python
- Получение текущего времени в Python















