Python 获取包含命名args和kwargs的dict的标准方法

Python 获取包含命名args和kwargs的dict的标准方法,python,keyword-argument,Python,Keyword Argument,在Python中,是否有一种标准方法来获取包含所有参数的dict,并将其传递给函数,包括命名参数和关键字星形参数 def func(a, b, c=None, **kwargs): named_args = locals() named_args.pop('kwargs') all_args = dict(named_args, **kwargs) UPD。也许这个版本足够短,不需要搜索“标准”替代品 def func(a, b, c=None, **kwargs):

在Python中,是否有一种标准方法来获取包含所有参数的dict,并将其传递给函数,包括命名参数和关键字星形参数

def func(a, b, c=None, **kwargs):
    named_args = locals()
    named_args.pop('kwargs')
    all_args = dict(named_args, **kwargs)
UPD。也许这个版本足够短,不需要搜索“标准”替代品

def func(a, b, c=None, **kwargs):
    all_args = locals()
    all_args.update(all_args.pop('kwargs', {}))

你的意思是像
inspect.getargspec(func)
?不确定你的意思,但是如果你在函数定义中省略
c=None
kwarg,那么你以后可以(默认)获得
c=kwargs.pop('c',None)
@Evert这只是一个例子,我也可以编写
c=1
。顺便说一句,通常,**kwargs会对函数进行自我记录。