Часто при изучении Python, начинающие разработчики сталкиваются с символом «@», который может вызвать недоумение. Особенно это может быть заметно при просмотре чужого кода или при чтении документации. Например, код может выглядеть так:
@class_decorator
class MyClass:
@method_decorator
def my_method(self):
pass
Символ «@» в Python используется перед именем функции или метода и называется «декоратором». Декораторы — это способ модифицировать поведение функции или класса, не изменяя самого исходного кода.
По сути, декоратор — это функция, которая принимает другую функцию в качестве аргумента, добавляет к ней некоторую функциональность и возвращает эту функцию. Это позволяет обернуть функцию или класс в декоратор и изменить их поведение без необходимости изменять исходный код.
Простейший пример декоратора:
def my_decorator(func):
def wrapper():
print("Before function call")
func()
print("After function call")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
В этом примере, @my_decorator применяется к функции say_hello(). Это эквивалентно вызову say_hello = my_decorator(say_hello). Когда мы вызываем say_hello(), она сначала печатает «Before function call», затем выполняет исходную функцию say_hello(), и наконец, печатает «After function call».
Таким образом, символ «@» в Python используется для применения декораторов к функциям или классам, позволяя изменять их поведение без изменения исходного кода.
Перейти в телеграм, чтобы получить результаты теста





Забрать
Добавить комментарий