Найти тему
Pythons Magic

Создание своего декоратора в Python: простое объяснение с примерами

Декораторы в Python позволяют добавлять дополнительное поведение к функциям, улучшая читаемость и поддерживаемость кода.

Они берут функцию в качестве аргумента и возвращают новую функцию, добавляя к ней функционал. Например, вы можете создать декоратор, который выводит сообщения до и после вызова целевой функции.

Вот как можно создать простой декоратор:

def my_decorator(func):
def wrapper(*args, **kwargs):
print("Перед вызовом функции")
result = func(*args, **kwargs)
print("После вызова функции")
return result
return wrapper



Теперь давайте применим этот декоратор к простой функции:

@my_decorator
def say_hello(name):
print(f"Привет, {name}!")

say_hello("Алексей")


При запуске кода вы получите:

```
Перед вызовом функции
Привет, Алексей!
После вызова функции
```


Как вы видите, декоратор добавляет поведение
до и после выполнения целевой функции.

Декораторы могут быть особенно полезны для задач, таких как
логирование или кэширование.

Например, вы можете создать декоратор, который будет проверять аргументы функции и выбрасывать ошибку, если они не соответствуют определенным
критериям.

Кроме того, используйте декораторы для повышения читабельности кода. Например, декоратор
@override позволяет явно указывать, что метод в дочернем классе переопределяет метод родительского класса.

Декораторы — это мощный инструмент, который может значительно улучшить структуру и эффективность вашего кода.

Попробуйте создать свой собственный декоратор и посмотрите, как он может упростить вашу работу! 👍

Загляните в Питоновую Магию ^