Вопросы с тегом 'python-decorators'

В Python декораторы - это функции, которые удобно изменяют функции, методы или классы с использованием специального синтаксиса.
25
ответов

В чем разница между @staticmethod и @classmethod в Python?

В чем разница между функцией, украшенной @staticmethod, а другая - @classmethod?
задан 26 сент. '08 в 0:01
16
ответов

Как создать цепочку декораторов функций?

Как я могу сделать два декоратора в Python, которые будут делать следующее? @makebold @makeitalic def say(): return "Hello" ..., который должен возвращаться: "<b><i>Hello</i></b>" Я не пытаюсь сделать HTML таким обра...
задан 11 апр. '09 в 10:05
11
ответов

Как работает декоратор @property?

Я хотел бы понять, как работает встроенная функция property. Меня смущает то, что property также можно использовать в качестве декоратора, но он принимает только аргументы при использовании в качестве встроенной функции, а не при использовании в кач...
задан 26 июня '13 в 23:47
11
ответов

Что делает символ "at" (@) в Python?

Я смотрю на некоторый код Python, который использовал символ @, но я понятия не имею, что он делает. Я также не знаю, что искать в качестве поисковых документов Python или Google не возвращает релевантные результаты при включении символа @.
задан 18 июня '11 в 2:19
10
ответов

Пример реального мира о том, как использовать свойство свойства в python?

Мне интересно, как использовать @property в Python. Я прочитал документы python, и пример там, на мой взгляд, является просто игрушечным кодом: class C(object): def __init__(self): self._x = None @property def x(self): ...
задан 10 июня '11 в 11:48
1
ответ

Порядок выполнения декоратора

def make_bold(fn): return lambda : "<b>" + fn() + "</b>" def make_italic(fn): return lambda : "<i>" + fn() + "</i>" @make_bold @make_italic def hello(): return "hello world" helloHTML = hello() Выход: "<b>...
задан 07 дек. '14 в 14:24
5
ответов

Как вставить переменную в область с помощью декоратора в python

[Отказ от ответственности: может быть больше pythonic способов делать то, что я хочу сделать, но я хочу знать, как работает область обзора python] Я пытаюсь найти способ сделать декоратор, который делает что-то вроде инъекции имени в область действи...
задан 25 июля '13 в 18:21
2
ответов

Как я могу заставить декоратор Python работать после завершения декорированной функции?

Я хочу использовать декоратор для обработки аудита различных функций (в основном, функции просмотра Django, но не исключительно). Для этого я хотел бы иметь возможность проверять функцию пост-исполнение - то есть функция работает как обычно, и если...
задан 05 февр. '13 в 11:46
3
ответов

Является ли Python Decorator таким же, как аннотация Java, или Java с аспектами?

Декораторы Python одинаковы или похожи или принципиально отличаются от аннотаций Java или что-то вроде Spring AOP или Aspect J?
задан 11 марта '13 в 22:40
6
ответов

Как использовать декораторы Python для проверки аргументов функции?

Я хотел бы определить некоторые общие декораторы для проверки аргументов перед вызовом некоторых функций. Что-то вроде: @checkArguments(types = ['int', 'float']) def myFunction(thisVarIsAnInt, thisVarIsAFloat) ''' Here my code ''' pass Бо...
задан 08 марта '13 в 20:29
1
ответ

Python functools lru_cache с помощью методов класса: объект выпуска

Как я могу использовать классы lru_cache functools внутри классов без утечки памяти? В следующем минимальном примере экземпляр foo не будет выпущен, хотя выходит за рамки и не имеет реферера (кроме lru_cache). from functools import lru_cache class ...
задан 12 нояб. '15 в 16:21
5
ответов

Decorator для метода класса, который кэширует возвращаемое значение после первого доступа

Моя проблема и почему Я пытаюсь написать декоратор для метода класса @cachedproperty. Я хочу, чтобы он вел себя так, что, когда метод сначала вызывается, метод заменяется его возвращаемым значением. Я также хочу, чтобы он вел себя как @property, т...
задан 18 апр. '16 в 4:55
2
ответов

Декораторы и метод класса

У меня возникли проблемы с пониманием того, почему происходит следующее. У меня есть декоратор, который ничего не делает, кроме того, что он проверяет, является ли функция методом. Я думал, что понял, что такое метод на Python, но, очевидно, это не т...
задан 19 сент. '12 в 13:41
2
ответов

Объем переменных в декораторе python

У меня очень странная проблема в декораторе Python 3. Если я это сделаю: def rounds(nr_of_rounds): def wrapper(func): @wraps(func) def inner(*args, **kwargs): return nr_of_rounds return inner return wrapp...
задан 21 апр. '15 в 3:07
5
ответов

Python - декораторы

Я пытаюсь изучить Decorators. Я понял ее концепцию и теперь пытаюсь ее реализовать. Вот код, который я написал Код не требует пояснений. Он просто проверяет, прошел ли аргумент в int или нет. def wrapper(func): def inner(): if issubc...
задан 06 янв. '14 в 10:50