Вопросы с тегом 'python-decorators'
В Python декораторы - это функции, которые удобно изменяют функции, методы или классы, используя специальный синтаксис. Декораторы динамически изменяют функциональность без изменения декорируемого исходного кода.
27
В чем разница между @staticmethod и @classmethod?
В чем разница между функцией, украшенной @staticmethod, а другая - @classmethod?
25 сент. '08 в 21:01
18
Как создать цепочку декораторов функций?
Как я могу сделать два декоратора в Python, которые будут делать следующее?
@makebold
@makeitalic
def say():
return "Hello"
..., который должен возвращаться:
"<b><i>Hello</i></b>"
Я не пытаюсь сделать HTML таким обра...
11 апр. '09 в 7:05
14
Как работает декоратор @property?
Я хотел бы понять, как работает встроенная функция property. Меня смущает то, что property также можно использовать в качестве декоратора, но он принимает только аргументы при использовании в качестве встроенной функции, а не при использовании в кач...
26 июн. '13 в 20:47
13
Что делает символ "at" (@) в Python?
Я смотрю на некоторый код Python, который использовал символ @, но я понятия не имею, что он делает. Я также не знаю, что искать в качестве поисковых документов Python или Google не возвращает релевантные результаты при включении символа @.
17 июн. '11 в 23:19
11
Как избежать шаблона "self.x = x; self.y = y; self.z = z" в __init__?
Я вижу такие шаблоны, как
def __init__(self, x, y, z):
...
self.x = x
self.y = y
self.z = z
...
довольно часто, часто с гораздо большим количеством параметров. Есть ли хороший способ избежать такой утомительной повторяемости? Е...
04 февр. '16 в 1:22
10
Пример реального мира о том, как использовать свойство свойства в python?
Мне интересно, как использовать @property в Python. Я прочитал документы python, и пример там, на мой взгляд, является просто игрушечным кодом:
class C(object):
def __init__(self):
self._x = None
@property
def x(self):
...
10 июн. '11 в 8:48
4
Как передать дополнительные аргументы декоратору Python?
У меня есть декоратор, как показано ниже. def myDecorator(test_func):
return callSomeWrapper(test_func)
def callSomeWrapper(test_func):
return test_func
@myDecorator
def someFunc():
print 'hello'
Я хочу улучшить этот декоратор, чтобы п...
16 апр. '12 в 14:38
4
Украшение методов класса Python - как передать экземпляр декоратору?
Это Python 2.5, и он GAE тоже, но это не так важно.
У меня есть следующий код. Я украшаю метод foo() в баре, используя класс dec_check в качестве декоратора.
class dec_check(object):
def __init__(self, f):
self.func = f
def __call__(self)...
02 мар. '10 в 18:38
2
Порядок выполнения декоратора
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 в 11:24
5
Является ли Python Decorator таким же, как аннотация Java, или Java с аспектами?
Декораторы Python одинаковы или похожи или принципиально отличаются от аннотаций Java или что-то вроде Spring AOP или Aspect J?
11 мар. '13 в 19:40
7
То же имя функционирует в том же классе, элегантный способ определить, на какой вызов?
Я пытаюсь сделать контроль над версиями продуктов в сценариях Python по определенной причине, но я не мог понять, как это сделать элегантным способом - пожалуйста, помогите. В настоящее время я делаю что-то вроде ниже. Однако при сохранении содержи...
10 сент. '18 в 6:15
5
Как вставить переменную в область с помощью декоратора в python
[Отказ от ответственности: может быть больше pythonic способов делать то, что я хочу сделать, но я хочу знать, как работает область обзора python]
Я пытаюсь найти способ сделать декоратор, который делает что-то вроде инъекции имени в область действи...
25 июл. '13 в 15:21
2
Как я могу заставить декоратор Python работать после завершения декорированной функции?
Я хочу использовать декоратор для обработки аудита различных функций (в основном, функции просмотра Django, но не исключительно). Для этого я хотел бы иметь возможность проверять функцию пост-исполнение - то есть функция работает как обычно, и если...
05 февр. '13 в 8:46
8
Как использовать декораторы Python для проверки аргументов функции?
Я хотел бы определить некоторые общие декораторы для проверки аргументов перед вызовом некоторых функций.
Что-то вроде:
@checkArguments(types = ['int', 'float'])
def myFunction(thisVarIsAnInt, thisVarIsAFloat)
''' Here my code '''
pass
Бо...
08 мар. '13 в 17:29
2
Python functools lru_cache с помощью методов класса: объект выпуска
Как я могу использовать классы lru_cache functools внутри классов без утечки памяти?
В следующем минимальном примере экземпляр foo не будет выпущен, хотя выходит за рамки и не имеет реферера (кроме lru_cache).
from functools import lru_cache
class ...
12 нояб. '15 в 13:21