Ответы 2
Ответ:
def my_decorator(func):
def wrapper(*args, **kwargs):
print("Перед викликом функції")
result = func(*args, **kwargs)
print("Після виклику функції")
return result
return wrapper
@my_decorator
def my_function():
print("Виклик функції")
my_function()
Объяснение:
В результаті, при виконанні коду, ви отримаєте наступний вихід:
Перед викликом функції
Виклик функції
Після виклику функції
Ответ:
def uppercase_decorator(function):
def wrapper():
result = function()
uppercase_result = result.upper()
return uppercase_result
return wrapper
@uppercase_decorator
def greeting():
return "Hello, world!"
print(greeting())
У цьому прикладі ми визначаємо функцію uppercase_decorator, яка приймає іншу функцію function як аргумент. Вона також визначає нову функцію wrapper, яка обгортає оригінальну функцію function.
Функція wrapper додає додатковий функціонал до оригінальної функції function. У цьому конкретному випадку, вона отримує результат виклику function, перетворює його на великі літери за допомогою методу upper(), і повертає цей результат.
Застосувавши декоратор @uppercase_decorator до функції greeting, ми змінюємо поведінку оригінальної функції. Тепер, коли ми викликаємо greeting(), вона повертає рядок "HELLO, WORLD!", оскільки він був перетворений на великі літери завдяки декоратору.
Вивід програми буде:HELLO, WORLD!
Це простий приклад декоратора, який додає функціональність до існуючої функції. Декоратори дозволяють зручно модифікувати або розширювати функціонал функцій без потреби внесення змін безпосередньо до них.
ответы на свои вопросы
вопросы?