Python - кто такие все встроенные декораторы? [закрытый]

Андрес

Мне не ясно, чего вы пытаетесь достичь, ни своим примером, ни своим собственным сайтом.

А) Вы хотите, чтобы фоновая фотография была видна ВСЕГДА, независимо от того, где вы прокручиваете?

61
задан Bob Stein 4 January 2019 в 15:14
поделиться

4 ответа

Я не думаю так. Декораторы не отличаются от обычных функций, Вы только называете их более необычным способом.

Для нахождения все они пытаются искать Встроенные функции список, потому что, как Вы видите в глоссарий Python, синтаксис декоратора является просто синтаксическим сахаром, поскольку следующие два определения создают равные функции (скопировал этот пример с глоссария):

def f(...):
    ...
f = staticmethod(f)

@staticmethod
def f(...):

, Таким образом, любая встроенная функция, которая возвращает другую функцию, может использоваться в качестве декоратора. Вопрос - имеет смысл использовать его тот путь? :-)

модуль functools содержит некоторые функции, которые могут использоваться в качестве декораторов, но они не создаются-ins, Вы попросили.

36
ответ дан Abgan 24 November 2019 в 17:25
поделиться

Они не встроены, но , эта библиотека из декораторов в качестве примера очень хороша.

, Поскольку Abgan говорит , список встроенной функции является, вероятно, лучшим местом для взгляда. Хотя, так как декораторы могут также быть реализованы как классы, это, как гарантируют, не будет всесторонне.

15
ответ дан Dead Community 24 November 2019 в 17:25
поделиться

Декораторы даже не обязаны возвращать функцию. Я использовал @atexit.register прежде.

1
ответ дан habnabit 24 November 2019 в 17:25
поделиться

Нет такой вещи как список всех декораторов. Нет никакого списка всех функций. Нет никакого списка всех классов.

Декораторы являются удобным инструментом для определения общего аспекта через функции, методы или классы. Существуют встроенные декораторы. Плюс существует любое число спокойных и бесполезных декораторов. Таким же образом существует любое количество прохладных и бесполезных классов.

-3
ответ дан Ray Toal 24 November 2019 в 17:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: