Запитання з тегом «decorator»

Decorator - це об'єктно-орієнтована модель дизайну, яка дозволяє динамічно додавати поведінку до існуючих класів. Це один із структурних зразків банди чотирьох.

5
Що таке "декоратори" і як вони використовуються?
Мені цікаво, які саме декоратори в AngularJS. В Інтернеті не так багато інформації для декораторів, крім економії розмитості в документації AngularJS та короткої (хоч і цікавої) згадки у відео на YouTube . Як кутові хлопці вважають це декоратором: Прикраса послуги дозволяє декоратору перехопити створення екземпляра служби. Повернений екземпляр може бути …

11
Декоратори пітона на заняттях
Чи можна написати щось на кшталт: class Test(object): def _decorator(self, foo): foo() @self._decorator def bar(self): pass Це не вдається: «Я в собі» невідомий Я також спробував: @Test._decorator(self) який також не вдається: Тест невідомий Я хотів би тимчасово змінити деякі змінні екземпляра в декораторі, а потім запустити оформлений метод, перш ніж …
140 python  class  decorator  self 

8
Відмінності між проксі і декоративними малюнками
Чи можете ви дати хороше пояснення, в чому різниця між проксі та декоратором ? Основна відмінність, яку я бачу, полягає в тому, що коли ми припускаємо, що Proxy використовує композицію, а Decorator використовує агрегацію, то, здається, зрозуміло, що за допомогою декількох (один або більше) декораторів ви можете змінювати / додавати …

2
Різниця між моделями дизайну фасаду, проксі, адаптера та декоратора? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб він зосередив увагу на одній проблемі лише редагуючи цю публікацію . Закрито 4 роки тому . Удосконаліть це питання Яка різниця між моделями дизайну "Фасад", "Проксі", "Адаптер" та "Декоратор"? Я …

8
Як прикрасити клас?
У Python 2.5, чи є спосіб створити декоратор, який прикрашає клас? Зокрема, я хочу використовувати декоратор, щоб додати члена до класу та змінити конструктор, щоб прийняти значення для цього члена. Шукаєте щось на кшталт наступного (яке має синтаксичну помилку в 'class Foo:': def getId(self): return self.__id class addID(original_class): def __init__(self, …

7
декоратори в стандартній лібці python (спеціально @ визначено)
Мені потрібно відмітити підпрограми як застарілі, але, мабуть, немає стандартного декоратора бібліотеки для депрекації. Мені відомі рецепти до нього та модуль попереджень, але моє питання: чому не існує стандартного декоратора бібліотеки для цього (загального) завдання? Додаткове запитання: чи взагалі є стандартні декоратори в стандартній бібліотеці?
127 python  decorator 

3
Як створити абстрактні властивості в абстрактних класах python
У наступному коді я створюю базовий абстрактний клас Base. Я хочу, щоб усі класи, які успадковуються, Baseнадавали nameмайно, тому я зробив цю властивість @abstractmethod. Тоді я створив підклас Base, який називається Base_1, який має на меті забезпечити деяку функціональність, але все ще залишається абстрактним. В ньому немає nameвластивості Base_1, але, …

2
Шаблони Ruby on Rails - декоратор проти ведучого
Останнім часом у спільноті Ruby on Rails про різного роду розмови про декораторів та презентаторів. У чому суттєва різниця між ними? Якщо є, які підказки підказують мені, яку з них використовувати над іншою? Або, можливо, використовувати два разом у поєднанні?

6
Збереження підписів оформлених функцій
Припустимо, я написав декоратора, який робить щось дуже загальне. Наприклад, він може перетворити всі аргументи на певний тип, виконати журнал, здійснити запам'ятовування тощо. Ось приклад: def args_as_ints(f): def g(*args, **kwargs): args = [int(x) for x in args] kwargs = dict((k, int(v)) for k, v in kwargs.items()) return f(*args, **kwargs) return …
111 python  decorator 

8
Декоратор властивостей запам'ятовування / відкладеного пошуку Python
Нещодавно я пройшов існуючу базу коду, що містить безліч класів, де атрибути екземплярів відображають значення, що зберігаються в базі даних. Я відновив багато цих атрибутів, щоб відкласти їх пошукові бази даних, тобто. не ініціалізується в конструкторі, а лише після першого читання. Ці атрибути не змінюються впродовж життя примірника, але вони …
109 python  decorator 

13
Чи може декоратор методу екземпляра отримати доступ до класу?
У мене є щось приблизно так. В основному мені потрібно отримати доступ до класу методу екземпляра від декоратора, який використовується методом екземпляра в його визначенні. def decorator(view): # do something that requires view's class print view.im_class return view class ModelA(object): @decorator def a_method(self): # do some stuff pass Код, як …
109 python  decorator 

5
Webpack babel 6 декораторів ES6
У мене є проект, написаний в ES6, з webpack як мій постачальник. Більшість трансліпінгу працює добре, але коли я намагаюся включати декораторів де завгодно, я отримую цю помилку: Decorators are not supported yet in 6.x pending proposal update. Я переглянув трекер випуску вабелів, і там не зміг знайти нічого, тому …

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><i>hello world</i></b>" Я приблизно розумію декоратори та те, як це працює з одним із них у більшості прикладів. У …

3
Визначення, чи встановлено кореневий реєстратор на рівні DEBUG у Python?
Якщо я встановив для журналу модуль DEBUG із параметром командного рядка, таким як: if (opt["log"] == "debug"): logging.basicConfig(level=logging.DEBUG) Як я можу пізніше визначити, чи для реєстратора встановлено DEBUG? Я пишу декоратор, який буде визначати час функції, якщо їй передано прапор True, і якщо жодного прапора не вказано, він за замовчуванням …

13
Як створити декоратор Python, який можна використовувати як з параметрами, так і без них?
Я хотів би створити декоратор Python, який можна використовувати з параметрами: @redirect_output("somewhere.log") def foo(): .... або без них (наприклад, для перенаправлення виводу на stderr за замовчуванням): @redirect_output def foo(): .... Це взагалі можливо? Зауважте, що я не шукаю іншого рішення проблеми перенаправлення виводу, це лише приклад синтаксису, якого я хотів …
89 python  decorator 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.