变量arg函数如何在python中调用另一个?

时间:2016-10-27 21:06:09

标签: python

我想用另一个函数包装一个可变长度的python函数。像这个例子

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

如何将参数从一个(log_debug)传递到另一个(调试)?

谢谢!

1 个答案:

答案 0 :(得分:0)

您提到的方法:

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

将所有命名参数实际传递给logger.debug。如果debug()的定义是:

,那么不会有任何问题
def logger.debug(self,**kwargs):
    pass

在这种情况下,所有传递的参数(msg string,args_ list和kwargs_ disctionary)都将存储在kwargs字典中。

但是,如果您想传递与在log_debug中接收的格式相同的格式。你可以通过:

def log_debug(self, message, *args_, **kwargs_):
     self.logger.debug(message, *args_, **kwargs_)