Sobes.tech
Back to questions
Junior — Middle
60

Для чего используют аннотации через символ '@' в Python, и как они работают?

Answer from AI

sobes.tech AI

В Python символ '@' используется для объявления декораторов — специальных функций, которые изменяют поведение других функций или классов. Аннотация через '@' ставится перед определением функции или класса и применяет декоратор к этому объекту.

Декоратор принимает функцию (или класс) как аргумент, может изменить или обернуть её, а затем возвращает новую функцию (или класс).

Пример:

def decorator(func):
    def wrapper(*args, **kwargs):
        print("До вызова функции")
        result = func(*args, **kwargs)
        print("После вызова функции")
        return result
    return wrapper

@decorator
def say_hello():
    print("Привет!")

say_hello()

Вывод будет:

До вызова функции
Привет!
После вызова функции

Таким образом, аннотации через '@' позволяют легко и читаемо модифицировать поведение функций и классов.