def wrapper(func):
def inner(*args):
return (output.uppercase() for outputs in func())
return inner
Вы можете использовать декоратор wrapper
двумя способами:
wrapper(function)("Hello", "World")
или более традиционным способом:
@wrapper
def function(*args):
print(args)
function("Hello", "World")
Оба выхода:
('HELLO', 'WORLD')
Функция wrapper
возвращает функцию inner()
, которая изменяет вывод вызова function()
. Какой-то псевдокод:
wrapper(function)("Hello", "World")
inner("Hello", "World")
output = function("Hello", "World")
output = output.modified # ("HELLO", "WORLD")
return output # ("HELLO", "WORLD")