Що таке Декоратор в Python?
У Python декоратори є потужним механізмом для зміни поведінки функцій або методів, не змінюючи їх вихідний код. Декоратори часто використовуються для додавання функціональності до існуючих функцій, логування, перевірок прав доступу або перетворення результатів.
Приклад використання:
def uppercase_decorator(func):
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
return result.upper()
return wrapper
@uppercase_decorator
def greet(name):
return "Hello, " + name
# Виклик функції після застосування декоратора
greeting = greet("Alice")
print("Привітання:", greeting)
# Висновок: Привітання: HELLO, ALICE
У цьому прикладі створюється декоратор uppercase_decorator, який перетворює результат функції, що викликається у верхній регістр. Потім цей декоратор застосовується до функції greet. Під час виклику greet("Alice") результат перетворюється на верхній регістр і виводиться на екран.
Декоратори дозволяють лаконічно змінювати функціональність коду, роблячи його більш чистим та підтримуваним. У Python існує безліч вбудованих декораторів, а також можливість створювати власні для задоволення конкретних потреб у проекті.