Вопросы с тегом «decorator»

Декоратор - это объектно-ориентированный шаблон проектирования, который позволяет динамически добавлять поведение к существующим классам. Это один из шаблонов структурного проектирования «Банды четырех».

2756
Как сделать цепочку функциональных декораторов?

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

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

Я хотел бы понять, как работает встроенная функция property. Что меня смущает, так это то, что он propertyтакже может быть использован в качестве декоратора, но он принимает аргументы только тогда, когда используется как встроенная функция, а не как декоратор. Этот пример из документации : class...

946
Создание синглтона в Python

Этот вопрос предназначен не для обсуждения того, является ли шаблон проектирования синглтона желательным, является ли он антипаттерном или для каких-либо религиозных войн, а для обсуждения того, как этот шаблон лучше всего реализовать в Python таким способом, который наиболее питоничен. В данном...

651
Что делает functools.wraps?

В комментарии к этому ответу на другой вопрос кто-то сказал, что они не уверены, что functools.wrapsделают. Итак, я задаю этот вопрос, чтобы в StackOverflow была запись об этом для дальнейшего использования: что именно делает...

403
Чем отличаются шаблоны Proxy, Decorator, Adapter и Bridge?

Я смотрел на Proxy Pattern, и мне он кажется очень похожим на паттерны Decorator, Adapter и Bridge. Я что-то неправильно понимаю? Какая разница? Зачем мне использовать шаблон Proxy по сравнению с другими? Как вы использовали их в прошлом в реальных...

401
Декораторы с параметрами?

У меня проблема с передачей переменной 'insurance_mode' декоратором. Я сделал бы это следующим оператором декоратора: @execute_complete_reservation(True) def test_booking_gta_object(self): self.test_select_gta_object() но, к сожалению, это утверждение не работает. Возможно, может быть есть лучший...

337
Каковы некоторые общие применения для декораторов Python? [закрыто]

Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 6 лет назад . Улучшить этот вопрос Хотя мне нравится думать о себе как о...

251
Предупреждение экспериментальных декораторов при компиляции TypeScript

Я получаю предупреждение ... Экспериментальная поддержка декораторов - это функция, которая может быть изменена в будущем выпуске. Установите параметр'ериментальный Декораторы ', чтобы удалить это предупреждение. ... хотя мои compilerOptions в tsconfig.json имеют следующие настройки:...

236
Как получить имена параметров метода?

Учитывая функцию Python: def a_method(arg1, arg2): pass Как я могу извлечь количество и имена аргументов. То есть, учитывая, что у меня есть ссылка наfunc , я хочу func.[something]вернуться ("arg1", "arg2"). Сценарий использования для этого заключается в том, что у меня есть декоратор, и я хочу...

226
Что такое '@' (в символе) в декораторе Redux @connect?

Я изучаю Redux с React и наткнулся на этот код. Я не уверен, если это специфичным для Redux или нет, но я видел следующий фрагмент кода в одном из примеров. @connect((state) => { return { key: state.a.b }; }) Хотя функциональность connect довольно проста, но я не понимаю, @прежде чем connect....

207
Как реализовать декоратор машинописи?

TypeScript 1.5 теперь имеет декораторы . Может ли кто-нибудь привести простой пример, демонстрирующий правильный способ реализации декоратора, и описать, что означают аргументы в возможных действительных сигнатурах декоратора? declare type ClassDecorator = <TFunction extends Function>(target:...

159
Называете класс статическим методом внутри тела класса?

Когда я пытаюсь использовать статический метод из тела класса, и определяю статический метод, используя встроенную staticmethodфункцию в качестве декоратора, например: class Klass(object): @staticmethod # use as decorator def _stat_func(): return 42 _ANS = _stat_func() # call the staticmethod def...

158
Есть ли декоратор для простого кэширования возвращаемых значений функции?

Учтите следующее: @property def name(self): if not hasattr(self, '_name'): # expensive calculation self._name = 1 + 1 return self._name Я новичок, но я думаю, что кэширование может быть преобразовано в декоратор. Только я такого не нашел;) PS реальный расчет не зависит от изменчивых...

155
Почему @ foo.setter в Python не работает для меня?

Итак, я играю с декораторами в Python 2.6, и у меня возникают некоторые проблемы с их работой. Вот мой файл класса: class testDec: @property def x(self): print 'called getter' return self._x @x.setter def x(self, value): print 'called setter' self._x = value Я думал, что это означает, что нужно...

148
Декораторы Python в классах

Можно ли написать что-нибудь вроде: class Test(object): def _decorator(self, foo): foo() @self._decorator def bar(self): pass Это не удается: я в @self неизвестен Я также пробовал: @Test._decorator(self) что также не удается: Тест неизвестен Я хотел бы временно изменить некоторые переменные...

148
Что такое «декораторы» и как они используются?

Мне интересно, какие именно декораторы есть в AngularJS. В Интернете не так много информации для декораторов, за исключением рекламы в документации AngularJS и краткого (хотя и интересного) упоминания в видео на YouTube . Как говорят ребята из Angular, декоратор это: Оформление сервиса, позволяет...

136
Различия между шаблоном прокси и декоратором

Можете ли вы дать какое-нибудь хорошее объяснение, в чем разница между Proxy и Decorator ? Основное различие, которое я вижу, заключается в том, что когда мы предполагаем, что Proxy использует композицию, а Decorator использует агрегацию, тогда кажется очевидным, что, используя несколько (один или...

135
Разница между шаблонами проектирования Фасад, Прокси, Адаптер и Декоратор? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 4 года назад . Улучшить этот вопрос В чем разница между шаблонами...

129
Как украсить класс?

В Python 2.5 есть способ создать декоратор, украшающий класс? В частности, я хочу использовать декоратор, чтобы добавить член в класс и изменить конструктор, чтобы он принимал значение для этого члена. Ищете что-то вроде следующего (с синтаксической ошибкой в ​​'class Foo:': def getId(self): return...