2
私はいくつかのクラスメソッドで使用するデコレータを持っています。それはクラスメソッドと静的メソッドで同じデコレータを使用できますか?
、私はクラスの外でそのデコレータを使用したいdef api_caller(logger_name):
def api_caller_decorator(method):
@wraps(method)
def caller_wrapper(self, *args, **kwargs):
logger = log_wrap(logger_name)
kwargs['api'] = create_api_instance(kwargs['api'])
logger.info('worker authenticated')
return method(self, logger=logger, *args, **kwargs)
return caller_wrapper
return api_caller_decorator
、再定義して、手動でself
引数を除外することなく、それを行う方法がある。このように見えますか?
は 'logger'は常に二番目のパラメータですか? – jonrsharpe
ロガーでデコレータを使用したい場合は、常に必要です。 – LetsPlayYahtzee
その場合、 'args [0]'が 'self'であるという事実を無視するだけで、それはそれの有無にかかわらず動作するでしょう。 – jonrsharpe