Использование декораторов Python, связанных с объектом уровня экземпляраPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Использование декораторов Python, связанных с объектом уровня экземпляра

Сообщение Anonymous »

Я пытаюсь создать декоратор, который позволяет мне зарегистрировать функции обратного вызова в экземпляр Classb . Я хотел бы использовать этот декоратор в других классах в моей программе (например, classa ), но хочу создать экземпляр Classb в качестве переменной экземпляра Classa вместо создания его в качестве переменной уровня модуля. При создании экземпляра на уровне модуля все работает нормально, однако при создании в качестве переменной экземпляра Classa он не удается.

Код: Выделить всё

class ClassB():

def __init__(self):
self.callbacks = []

def register_callback(self):
def wrapper(fn):
self.callbacks.append(fn)
return fn
return wrapper
< /code>
Инстатью на уровне модуля работает хорошо: < /p>
import ClassB

class_b = ClassB()

class ClassA():

def __init__(self):
pass

@class_b.register_callback()
def do_something(self):
# do stuff

< /code>
Степени в качестве переменной экземпляра не работает: < /p>
import ClassB

class ClassA():

def __init__(self):
self.class_b = SomeClassB()

@self.class_b.register_callback()
def do_something(self):
# do stuff

Какой правильный синтаксис/способ достичь того, что я пытаюсь сделать?

Подробнее здесь: https://stackoverflow.com/questions/795 ... vel-object
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Использование декораторов Python, связанных с объектом уровня экземпляра
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Использование декораторов Python, связанных с объектом уровня экземпляра
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • В чем разница между экземпляром, объектом, объектом класса и объектом экземпляра в Python? [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    53 Просмотры
    Последнее сообщение Anonymous
  • Использование декораторов Python для повтора запроса
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Использование декораторов Python для повтора запроса
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»