Что такое декораторы в Python
Python
Senior
Без компании
Что такое декораторы в Python
Ответы
Декораторы в Python — это функции, которые позволяют модифицировать поведение других функций или методов без изменения их исходного кода. Они принимают функцию в качестве аргумента и возвращают новую функцию, обычно добавляя дополнительную логику до или после вызова исходной.
Пример простого декоратора:
```
def my_decorator(func):
def wrapper():
print("Действие до функции")
func()
print("Действие после функции")
return wrapper
@my_decorator
def say_hello():
print("Привет!")
say_hello()
```
Вывод:
```
Действие до функции
Привет!
Действие после функции
```
Ключевые особенности:
- Используют синтаксис `@decorator_name`
- Могут принимать аргументы (через вложенные функции)
- Сохраняют метаданные оригинальной функции (используя `functools.wraps`)
- Часто применяются для логирования, проверки прав доступа, кэширования