2016-10-27 2 views
0

가변 길이 파이썬 함수를 다른 것과 랩핑하고 싶습니다. 이 예제처럼변수 arg 함수가 파이썬에서 또 다른 함수를 호출하는 방법은 무엇입니까?

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 모든 명명 된 매개 변수를 전달합니다. 이 경우, 모든 전달 된 매개 변수 (MSG 문자열, args_ 목록과 kwargs_의 disctionary)에서

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

은 kwargs로 사전에 저장됩니다 : 디버그의 정의는() 인 경우 문제가되지 않습니다.


그러나 log_debug에서 수신하는 것과 동일한 형식으로 전달하려는 경우. 다음과 같이 전달할 수 있습니다 :

def log_debug(self, message, *args_, **kwargs_): 
    self.logger.debug(message, *args_, **kwargs_) 
관련 문제