什么';在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}