decorator.py 899 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # Базовый синтаксис декоратора в python
  2. def my_decorator(func):
  3. def wrapper_func():
  4. # Делаем что-то до вызова функции
  5. func()
  6. # Делаем что-то после вызова функции
  7. return wrapper_func
  8. '''
  9. def decorator(func):
  10. def wrapper():
  11. print('Start decorator')
  12. func()
  13. print('Finish decorator')
  14. return wrapper
  15. '''
  16. def decorator(func):
  17. def inner(*args, **kwargs):
  18. print('Стартуем декоратор')
  19. func(*args, **kwargs)
  20. print('Заканчиваем декоратор')
  21. return inner
  22. @decorator
  23. def say_hello_to(name, surname):
  24. print('hello', name, surname)
  25. decorator
  26. def my_func():
  27. print('This is my mega function!')
  28. def main():
  29. say_hello_to('Vasya', 'Ivanov')
  30. if __name__ == '__main__':
  31. main()