аватар question@mail.ru · 01.01.1970 03:00

Что значит символ @ в python?

Видел в разных прогах используется символ @ а потом какое то слово слитно . Что это могло означать?

аватар answer@mail.ru · 01.01.1970 03:00

Переведу ответ с enSO на который указали в комментариях, раз уж подняли вопрос с 18 года. плюс добавил ссылки на русском. К сожалению их не так много как хотелось бы.

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

Документация для детального ознакомления:

(англ.)

(англ.)

Объяснения и примеры:

(рус., 2012 года)

(рус.)

Наиболее распространенные декораторы, с которыми вы столкнетесь:

(англ.), а с примером использования

(англ.)

(англ.),

Оффтопик, но об этом заходила речь в комментариях, и так же содержится данная информация в оригинальном ответе.

Если знак @ находится в середине строки, то это может означать произведение матриц. Доступные методы - , ,

Документация:

(англ.)

UPD (26.05.2021)

Полезно так же будет добавить описание с (приведен пример для декоратора функции):

Декораторы функций — вызываемые объекты, которые принимают другую функцию в качестве аргумента. Декораторы функций могут производить операции с функцией и возвращают либо саму функцию, либо другую заменяющую её функцию или вызываемый объект. То есть, если в коде ранее был прописан декоратор, названный decorate, то следующий код:

@decoratedef target():    print('running target()')

эквивалентен этому

def target():    print(running target())    target = decorate(target)

Пример использования декоратора функции:

>>> def deco(func):...     def inner():...         print('running inner()')...     retu inner…>>> @deco... def target():...     print('running target()')>>> target()running inner()>>> target<function deco.<locals>.inner at 0.10063b598>

Последние

Похожие