Я пытаюсь применить условный декоратор , как описано в другом сообщении stackoverflow, но я бы хотел, чтобы условие было установлено внутри класса, в котором он используется. Вместо этого я получаю ошибку Reference, указывающую, что self не определено.
class foo:
def __init__(self):
self.debug = True
@conditional_decorator(decorator, self.debug)
def function(self):
pass
Я попытался определить глобальную переменную и обновить ее из метода __ init __ () , но он сохранил свое первоначальное значение при вызове в качестве аргумента декоратора.
debug = None
class foo:
def __init__(self):
self.debug = True
global debug
debug = self.debug
@conditional_decorator(decorator, debug)
def function(self):
pass
Единственный способ, которым она работала, - объявление глобальной переменной и установка ее вне класса.
Как я могу применить значение свойства класса для декоратора?