Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';在Python中,将输入函数参数放入字典的最佳方法是什么?_Python_Python 3.x - Fatal编程技术网

什么';在Python中,将输入函数参数放入字典的最佳方法是什么?

什么';在Python中,将输入函数参数放入字典的最佳方法是什么?,python,python-3.x,Python,Python 3.x,我想要的是,对于函数: def test(a = 1, b = 2): return {'a':a, 'b':b} 例如,测试(a=2,b=1)给出了{'a':2,'b':1}。我想自动完成这项工作(比如将所有参数打包到一个字典中),因为我的函数正在开发中,将添加更多的参数,所以我不想在任何地方添加这些参数,有没有干净的方法 函数的形式必须是test(a=1,b=2),我不能将其更改为test(**kwarg),因为这将是对现有代码的巨大更改。我想问的是,有没有一种方法可以从(a=1,

我想要的是,对于函数:

def test(a = 1, b = 2):
    return {'a':a, 'b':b}
例如,测试(a=2,b=1)给出了{'a':2,'b':1}。我想自动完成这项工作(比如将所有参数打包到一个字典中),因为我的函数正在开发中,将添加更多的参数,所以我不想在任何地方添加这些参数,有没有干净的方法

函数的形式必须是test(a=1,b=2),我不能将其更改为test(**kwarg),因为这将是对现有代码的巨大更改。我想问的是,有没有一种方法可以从(a=1,b=2)这样的输入形式中获取dict?请使用kwargs

def test(**kwargs):
   return kwargs
print (test(a=1,b=2))  
#OUTPUT:{'b': 2, 'a': 1}

勾选**kwargs.@taurus05,不是我真正需要的,事实上我需要的是相反的。我现在不能做test(**kwarg),我需要将所有参数都打包到dict中。@RushengZhang我无法想象一个比
test(a=1,b=2)->test(**kwargs)
变化更小的世界。为什么改变这个函数定义会影响代码的其余部分?或者干脆
test=dict
。我不明白你想实现什么。听起来好像你只是想要
dict(a=1,b=2)
谢谢这正是我想要的注意:
locals
将包含所有局部变量,而不仅仅是参数,在这种情况下这可能不是问题。此函数中只有2个局部变量。所以,在这种情况下,不会有任何问题。
def test(**kwargs):
   return kwargs
print (test(a=1,b=2))  
#OUTPUT:{'b': 2, 'a': 1}