decorator- все статьи тега


Python decorator с многопроцессорной обработкой терпит неудачу

Я хотел бы использовать декоратор для функции, которую я впоследствии передам в многопроцессорный пул. Однако код завершается с ошибкой "PicklingError: Can't pickle: attribute lookup __builtin__.сбой функции". Я не совсем понимаю, почему это не удается здесь. Я уверен, что это что-то простое, но я не могу найти его. Ниже приведен минимальный "рабочий" пример. Я думал, что использование функции functools будет достаточно, чтобы это сработало. Если я закомментирую украшение функции, оно работает ...

Python decorator лучшая практика, используя класс против функции

Как я понял, есть два способа сделать Python decorator: либо использовать __call__ класса, либо определить и вызвать функцию в качестве декоратора. Каковы преимущества / недостатки этих методов? Есть ли один предпочтительный метод? Пример 1 class dec1(object): def __init__(self, f): self.f = f def __call__(self): print "Decorating", self.f.__name__ self.f() @dec1 def func1(): print "inside func1()" func1() # Decorating func1 # inside func1() Пример 2 d ...

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

я хотел бы понять, как встроенная функция property строительство. Что меня смущает, так это property также может использоваться в качестве декоратора, но он принимает аргументы только при использовании в качестве встроенной функции, а не при использовании в качестве декоратора. этот пример из документация: class C(object): def __init__(self): self._x = None def getx(self): return self._x def setx(self, value): self._x = value def delx(self): del ...

Как различаются Шаблоны Прокси, декоратора, адаптера и моста?

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

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

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

Почему @foo.сеттер в 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 то, что я думал, что это означает, чтобы лечить x как свойство, но вызовите эти функции на get и set. Итак, я включил холостой ход и проверил его: >>> from testDec import testDe ...

Декораторы Python в занятия

можно ли написать sth как: class Test(object): def _decorator(self, foo): foo() @self._decorator def bar(self): pass это не удается: self в @self неизвестно Я тоже пробовал: @Test._decorator(self) что также не удается: тест неизвестен Если бы темп. изменение некоторых переменных экземпляра в декораторе и запустить украшенный метод, прежде чем меняю их обратно. спасибо. ...

Вызов класса staticmethod в теле класса?

когда я пытаюсь использовать статический метод в теле класса, и определить статический метод с помощью встроенного staticmethod функция в качестве декоратора, как это: class Klass(object): @staticmethod # use as decorator def _stat_func(): return 42 _ANS = _stat_func() # call the staticmethod def method(self): ret = Klass._stat_func() + Klass._ANS return ret я получаю следующее сообщение об ошибке: Traceback (most recent call last):<br> Fi ...

Сохранение сигнатур декорированных функций

предположим, я написал декоратор, который делает что-то очень обобщенное. Например, он может преобразовать все аргументы в определенный тип, выполнить ведение журнала, реализовать memoization и т. д. вот пример: 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 g @args_as_ints def funny_function(x, y, z=3): """Computes x*y + 2*z""" return x*y ...

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

можете ли вы дать какое-либо хорошее объяснение, в чем разница между Прокси и оформителя? главное отличие я вижу в том, что когда мы предполагаем, что Прокси использует состав и оформителя использует агрегация тогда, кажется, ясно, что с помощью нескольких (один или несколько) декораторы вы можете изменить/ добавить функциональные возможности в уже существующий экземпляр (украсить), в то время как Прокси имеет собственный внутренний экземпляр проксируемого класса и делегирует ему некоторые допо ...

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

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

ASP.NET маршрутизация MVC через атрибуты метода [закрыто]

на Подкаст StackOverflow #54, Джефф упоминает, что они регистрируют свои маршруты URL в кодовой базе StackOverflow через атрибут над методом, который обрабатывает маршрут. Звучит как хорошая концепция (с оговоркой, что Фил Хаак поднял вопрос о приоритетах маршрута). может ли кто-нибудь предоставить образец, чтобы это произошло? кроме того, любые "лучшие практики" для использования этого стиля маршрутизации? ...