python - 如何在python中将所有参数转换为字典

标签 python python-2.7 dictionary args keyword-argument

我希望我的函数 func(*args, **kwargs) 返回一个字典,其中包含我提供给它的所有参数。例如:

func(arg1, arg2, arg3=value3, arg4=value4)

应该返回一本这样的字典:

{'arg1': value1, 'arg2': value2, 'arg3': value3, 'arg4': value4 }

最佳答案

您可以使用locals()vars():

def func(arg1, arg2, arg3=3, arg4=4):
    print(locals())

func(1, 2)

# {'arg3': 3, 'arg4': 4, 'arg1': 1, 'arg2': 2}

但是,如果您只使用 *args,您将无法使用 locals() 区分它们:

def func(*args, **kwargs):
    print(locals())

func(1, 2, a=3, b=4)

# {'args': (1, 2), 'kwargs': {'a': 3, 'b': 4}}

关于python - 如何在python中将所有参数转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44412617/

相关文章:

python - 为索引旋转具有多列的DataFrame

python - 减少 Django 数据库查询

Python:如何将列表/数组/pd.Series中的零值设置为下一个非零值?

scala - 如何按值升序对 Scala 映射进行排序?

python - 如何从 Shell 脚本获取循环变量以在 python 脚本中检索

python - 在 Python 程序中打印两点之间的时间

python - 从 PayPal 应用程序检索所有付款信息

python - 如何在python中获取绝对url

python - 如何将python数组(data = [])写入excel?

Scala:为什么可变 Map 和不可变 Map 在与键相同的自定义类实例上有不同的结果?