我正在尋找裝飾一個「可調用」類(其中一個具有定義的__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
將與端口號的一類屬性,以便於以後的服務可以關機。
這有什麼好做的類被調用。 –