Python-Decorators – вопросы и ответы

-6
голосов
1
ответ
Мой декоратор работает хорошо и хорошо, и теперь он хранится в модуле. Если возможно, я хотел бы сохранить его в классе вместо этого, где он будет сидеть со связанными функциями. Однако я не могу з...
2 месяца, 2 недели назад svenema
87
голосов
2
ответа
Я пытаюсь понять поведение декораторов, проведя некоторые эксперименты. Я не могу найти какой-либо документ о том, что я вижу, так что может кто-то может указать мне на что-то. Вот код с помощью де...
2 месяца, 2 недели назад jazzblue
76
голосов
1
ответ
Я написал декоратор для печати дерева рекурсии, созданного некоторым вызовом функции. from functools import wraps def printRecursionTree(func): global _recursiondepth _print = print _recursiondepth...
2 месяца, 2 недели назад Pragy Agarwal
122
голоса
1
ответ
def smart_divide(func): def inner(a,b): print("I am going to divide",a,"and",b) if b == 0: print("Whoops! cannot divide") return return func(a,b) return inner @smart_divide def divide(a,b): return ...
2 месяца, 2 недели назад Vikas R
124
голоса
1
ответ
Может ли кто-нибудь найти проблему с этим декоратором @property? Кажется, я не могу утверждать это правильно. Я уверен, что я делаю очень простое дело, но может ли кто-нибудь указать мои усталые гл...
2 месяца, 2 недели назад opensourcegeek
86
голосов
3
ответа
После того, как я безуспешно пытался какое-то время, я ищу помощь на этом чудесном веб-сайте. Теперь для моей проблемы: я хочу создать декоратор, который записывает прошедшее время выполнения функц...
2 месяца, 2 недели назад Kaleidophon
86
голосов
1
ответ
Мне нужно иметь возможность обернуть класс HashTable. После прочтения об обертках я уверен, что это плохое использование обертки, однако это в моем задании. (У меня разные структуры данных, которые...
2 месяца, 2 недели назад goml
75
голосов
1
ответ
Вероятно, я приближаюсь к проблеме не так, и есть более простое решение, но вот моя проблема. У меня есть декоратор, подобный этому: def my_decorator(argument): def wrap(f): def wrapped_f(*args, **...
2 месяца, 2 недели назад Giovanni Di Milia
75
голосов
2
ответа
Я работаю с asyncio для того, чтобы методы планирования вызывались с определенными интервалами относительного времени. Я решил централизовать планирование в один метод класса, который я написал, чт...
2 месяца, 2 недели назад shackra
76
голосов
2
ответа
В чем основное отличие между ними? Я изучал Питона и наткнулся на них. Декоратор по существу является функцией, которая обертывает другую функцию, и вы можете делать что-либо до и после выполнения ...
2 месяца, 2 недели назад Mithil Bhoras
114
голосов
1
ответ
Я хочу создать внутренний декоратор, используя его внутри моего класса Python, для того, чтобы обернуть операции включения и выключения рамки селена. Поэтому я попробовал это: class MyPage(object):...
2 месяца, 2 недели назад gerosalesc
97
голосов
1
ответ
У меня есть 2 класса A и B: class A(object): x = 0 class B(object): y = 0 Как я могу сделать так B "наследует" A переменные уровня класса ( x в этом случае) с помощью декораторов? Возможно ли это? ...
2 месяца, 2 недели назад stelonix
62
голоса
4
ответа
Я пытаюсь создать декоратор python, который добавляет атрибуты методам класса, чтобы я мог получать и изменять эти атрибуты из самого метода. Код декоратора from types import MethodType class attri...
2 месяца, 2 недели назад Francis
75
голосов
1
ответ
У меня проблема с sqlalchemy и устаревшей базой данных. Предположим, у меня есть такие модели class A(Base): foo = Column(String) modified_at = Column(DateTime, default=func.now, onupdate=func.now(...
2 месяца, 2 недели назад user1685095
63
голоса
1
ответ
У меня есть список отдельных функций параметров в python, к которым я хотел бы применить ту же операцию масштабирования/перевода. Масштаб/сдвиг для функции f (x) был бы следующим: f '(x, a, b, c, d...
2 месяца, 2 недели назад John Keaveny
76
голосов
1
ответ
Сначала попробуйте декор django.utils.функциональный.lazy. Моя функция возвращает два списка, поэтому я украшаю его с помощью @lazy (list, list). Это простая функция jane, а не метод/свойство класс...
2 месяца, 3 недели назад s29
114
голосов
1
ответ
Я пытаюсь создать программу, которая порождает два процесса, которые связывают друг с другом. Я прочитал о сопрограммах и подумал, что было бы неплохо принять его на этот раз, и, поскольку coroutin...
2 месяца, 3 недели назад maynull
105
голосов
1
ответ
Недавно я memoized с техникой в библиотеке декораторов-декораторов Python, которая позволяет поддерживать методы экземпляра: import collections import functools class memoized(object): '''Decorator...
2 месяца, 3 недели назад Kurt Peek
74
голоса
2
ответа
У меня есть рекурсивная функция (f вызывает себя): def f(x) : .... Я хочу запустить эту функцию несколько раз. Я использую следующий декоратор: def iter_f(func) : def newf(x): for i in range(10): f...
2 месяца, 3 недели назад fast tooth
107
голосов
1
ответ
У меня есть пользовательский декоратор в представлении, и я должен кэшировать это представление после обработки некоторых переменных запроса. Мой код декоратора подобен этому def custom_dec(view_fu...
2 месяца, 3 недели назад Dhiraj Thakur
129
голосов
1
ответ
Ниже приведен мой код. Учитывая любой контент, он должен добавить определенный тег HTML к содержимому спереди. Я учусь писать декораторы, используя вызов вместо закрытия функций. class decorate: de...
2 месяца, 3 недели назад user1159517
96
голосов
2
ответа
Для функций уровня модуля этот код содержит: def dec(f): def wrap(*args, **kwargs): f(*args, **kwargs) return wrap @dec def foo(arg1): pass При декорировании, однако, внезапно вам придется иметь од...
2 месяца, 3 недели назад whiteredblack
-11
голосов
1
ответ
Я изучаю OOP Python, и я пришел к теме декораторов, но материал, который я использую для изучения, не охватывает его подробно. Я отправляю код примера: class Duck: def __init__(self, **kwargs): sel...
2 месяца, 3 недели назад Fabio
124
голоса
1
ответ
У меня есть фрагмент кода на питоне, который позволяет мне работать как декоратор. Я хотел бы добавить имя функции в вывод. и время в миллисекундах def func_timer(func): def f(*args, **kwargs): sta...
2 месяца, 3 недели назад Merlin
62
голоса
1
ответ
Конечно, я знаю, что это невозможно, как в Python, так как читайте в Декораторы отчетов но все же я хотел бы найти способ программно включить (включить и выключить) цикл как: for i in range(L[:]): ...
2 месяца, 3 недели назад 00__00__00
98
голосов
1
ответ
Вот пример метода, который внутри класса Python: def publish_aggregate_account_group_stats(self, account_group_token): message = { "type": "metrics-aggregate-account-group-stats", "accountGroupToke...
2 месяца, 3 недели назад dennismonsewicz
62
голоса
1
ответ
Я документирую свою библиотеку с Sphinx. И у меня есть decorator logic_object : class logic_object: """Decorator for logic object class. """ def __init__(self, cls): self.cls = cls self.__doc__ = s...
2 месяца, 3 недели назад knowledge
106
голосов
1
ответ
Я нашел этот , ограничивающий скорость, python decorator, основанный на классах redis. Как написать аналогичный декоратор, который использует только то, что доступно в стандартной библиотеке, котор...
2 месяца, 3 недели назад enrico.bacis
129
голосов
3
ответа
У меня есть мой простой декоратор my_decorator , который украшает my_func . def my_decorator(func): def wrapper(*args, **kwargs): return func(*args, **kwargs) wrapper._decorator_name_ = 'my_decorat...
2 месяца, 3 недели назад bruce_wayne
62
голоса
1
ответ
Я немного смущен о том, как получить и установить температуру в этом украшенном коде. Правильно ли это использовать декоратор свойств? Однако я не уверен, как его использовать. Я могу вызвать c.tem...
2 месяца, 3 недели назад user3079275
122
голоса
1
ответ
Это базовый вопрос Python. Я пытаюсь украсить @classmethod своим собственным декоратором my_decorator . Исходный @classmethod самом деле вызывает другой @classmethod . Проблема возникает при вызове...
2 месяца, 3 недели назад bourbaki4481472
61
голос
1
ответ
EDIT: Как я уже сказал ниже, этот вопрос недействителен, поскольку это было недоразумением от моего имени. Я изготовил декоратор, отличный от try-except, для пользовательских ошибок, и я хочу приме...
2 месяца, 3 недели назад PistolPete
107
голосов
2
ответа
Чтобы помочь мне отладить часть кода, который я пишу, я хочу создать декоратор функции, который печатает имя переменной и ее значение по мере того, как каждая переменная создается или модифицируетс...
2 месяца, 3 недели назад PolskiPhysics
88
голосов
4
ответа
У меня есть набор функций в python, который получает те же 2 параметра + другие параметры. def myMethodA (param1, param2, specificParm) do code def myMethodB (param1, param2, specificParm1 specific...
2 месяца, 3 недели назад Eran Witkon
-4
голоса
1
ответ
Ниже приведен пример кода, демонстрирующий работу декораторов. Он принимает функцию get_text(name) и обертывает ее функцией p_decorate(func) . Мне трудно понять, как функция p_decorate знает, что n...
2 месяца, 3 недели назад miro_x
98
голосов
1
ответ
Нужно немного помочь исправить декоратор для unittest. Я не уверен, как удовлетворить требования модульного теста. Идея этого декоратора состоит в том, чтобы пометить тест как ожидаемый Failure IF ...
2 месяца, 3 недели назад Keith
97
голосов
2
ответа
В настоящее время я использую discord.py, и мне было любопытно, как работает Decorator Client.event , но я не могу узнать, например, когда он передает данные функции on_message когда есть событие с...
2 месяца, 3 недели назад Oswald
122
голоса
2
ответа
Фон Я запускаю py.test с fixture в файл подчета . Вы можете увидеть код ниже (все это работает отлично):
2 месяца, 3 недели назад Marco Pashkov
114
голосов
3
ответа
(Хотя этот вопрос конкретно касается Flask, его можно обобщить в соответствии с заголовком) Я пытаюсь использовать декоратор Flask app.route() внутри класса. Однако приложение Flask инициализируетс...
2 месяца, 3 недели назад Cadel Watson
137
голосов
2
ответа
У меня есть ситуация, когда я пытаюсь изменить аргументы, переданные декоратору, в одном из моих методов класса. Код выглядит примерно так: class MyClass(object): @tryagain(retries=3) def mymethod(...
2 месяца, 3 недели назад blindsnowmobile
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема