Курс 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"
- Работа с collections.Counter
- Сравнение def и lambda функций в Python
- Добавление элементов в список
- Итераторы в Python
- Создание пустых функций и классов в Python
- Ввод нескольких значений
- Функция rsplit() в Python
- Профилирование кода
- Транспонирование 2D-массива с помощью zip
- Разделение строки на пары ключ-значение.
- Итерации в Python
- Python Поверхностное Копирование
- Оптимизация гиперпараметров в Python
- Отношения подклассов в Python
- Округление чисел с помощью round
- Блок else в обработке исключений
- Хранение данных
- Официальный канал Python в Telegram
- Объединение объектов в Python
- Работа с CSV файлами в Python
- Введение в PyTorch
- Распаковка элементов массива
- Наследование в программировании
- Списковые включения в Python
- Метод __getitem__ в Python
- Работа со случайными элементами
- Удаление символа из строки
- Оформление кода по PEP 8
- Декоратор проверки активности
- Хеширование паролей с солью
- Форматирование строк с помощью f-строк
- Декораторы в Python
- Метод add для класса Vector
- Аннотации типов в Python
- Функция zip() в Python
- Генераторы в Python
- Создание графики с черепахой
- ChainMap избыточные ключи
- Изменение объектов в Python
- Проверка на истинность объектов в Python
- Вычисление логарифмов в Python
- Генерация случайных данных в NumPy
- Декораторы в Python
- Удаление специальных символов с помощью re.sub















