2016-10-27 19 views
0

私は可変長のPython関数を別のものでラップしたいと思っています。この例のように変数arg関数がどのようにしてPythonで別の関数を呼び出すのですか?

def log_debug(self, message, *args_, **kwargs_): 
    self.logger.debug(msg=message, arg=args_, kwargs=kwargs_) 

どのように(log_debug)から別の(debug)にパラメータを渡しますか?

ありがとうございます!

+0

どのパラメータ?この例はかなり完成していますが、あなたの問題は何ですか? – UnholySheep

+0

エラーが発生していますか? – Shasha99

答えて

0

あなたが言及した方法:

def log_debug(self, message, *args_, **kwargs_): 
    self.logger.debug(msg=message, arg=args_, kwargs=kwargs_) 

はactully logger.debugするすべての名前付きパラメータを渡します。この場合

def logger.debug(self,**kwargs): 
    pass 

、すべて渡されたパラメータ(msg文字列、args_リストとkwargs_ disctionary)はkwargsから辞書に格納されます。デバッグの定義は()であればすべての問題があってはなりません。


ただし、log_debugで受信しているのと同じ形式で渡したい場合は、あなたは次のように渡すことができます:

def log_debug(self, message, *args_, **kwargs_): 
    self.logger.debug(message, *args_, **kwargs_) 
関連する問題