В нескольких следующих постах я хочу поговорить о декораторах. Будет базовое определение, мотивация их использовать, всякие хитрости, а еще куча примеров. Прежде, чем говорить о декораторах, нужно кое- что узнать о функциях в Python. Допустим, у нас есть функция, которая здоровается с Юпи: def hey_Jupi(): print("Привет, Юпи!") Функции в Python -- это объекты первого класса, ничем не хуже, чем int'ы или словари. Это значит, что: 🐙 Функцию можно присвоить переменной: say_hi = hey_Jupi say_hi() # Привет, Юпи! 🐙 Функцию можно вернуть из функции: def wrapper(func): print("Юпи пришла...
Декораторы в Python позволяют добавлять дополнительное поведение к функциям, улучшая читаемость и поддерживаемость кода.
Они берут функцию в качестве аргумента и возвращают новую функцию, добавляя к ней функционал. Например, вы можете создать декоратор, который выводит сообщения до и после вызова целевой функции.
Вот как можно создать простой декоратор:
def my_decorator(func):
def wrapper(*args, **kwargs):
print("Перед вызовом функции")
result = func(*args, **kwargs)
print("После вызова...