12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- # Базовый синтаксис декоратора в python
- def my_decorator(func):
- def wrapper_func():
- # Делаем что-то до вызова функции
- func()
- # Делаем что-то после вызова функции
- return wrapper_func
- '''
- def decorator(func):
- def wrapper():
- print('Start decorator')
- func()
- print('Finish decorator')
- return wrapper
- '''
- def decorator(func):
- def inner(*args, **kwargs):
- print('Стартуем декоратор')
- func(*args, **kwargs)
- print('Заканчиваем декоратор')
- return inner
- def decorator_2(func):
- def inner(*args, **kwargs):
- print('Стартуем декоратор')
- func_res = func(*args, **kwargs)
- print(f'Функция func вернула значение "{func_res}"')
- print('Заканчиваем декоратор')
- return func_res.swapcase()
- return inner
- @decorator_2
- def say_hello_to(name, surname):
- return f'Hello {name} {surname}'
- decorator
- def my_func():
- print('This is my mega function!')
- def header_h1(func):
- def inner(*args, **kwargs):
- result = func(*args, **kwargs)
- return f'<h1>{result}</h1>'
- return inner
- @header_h1
- def one_more_func(name, surname):
- return f'Hello {name} {surname}'
- def main():
- # res = say_hello_to('Vasya', 'Ivanov')
- # print(f'{res=}')
- res = one_more_func("gennadi", "LOSKOV")
- print(f'{res=}')
-
-
- if __name__ == '__main__':
- main()
|