Я ищу, чтобы украсить класс «вызываемый» (тот, который определил метод __call__
), чтобы я мог начать фоновое обслуживание до того, как вызывается __init__
и обрабатывает аргументы, переданные до того, как он сам вызван, чтобы включить детали сервис, который был запущен.Как я могу украсить класс «вызываемый» с помощью декоратора класса?
Так, например:
@init_service # starts service on port 5432
class Foo(object):
def __init__(self, port=9876):
# init here. 'port' should now be `5432` instead of the original `9876`
def __call__(self):
# calls the background service here, using port `5432`
func = Foo(port=9876)
...
result = func()
Класс init_service
будет иметь атрибут класса с номером порта, так что в дальнейшем сервис может быть выключению.
Это не имеет ничего общего с классом быть отозван. –