如何在函数中采用多个命名参数,并将其传递给python中的字典?

问题描述

我最近了解到的关于python的最酷的事情之一就是字典可以接受这样的参数:

select 
COALESCE(visit.petId,vaccination.petId) as petId,GREATEST(visit.date,vaccination.date) as date
from visit
FULL JOIN vaccination on vaccination.petId = visit.petId

我如何制作一个以相同方式接受参数并将其传递给字典的函数?我不想将红色,蓝色或黄色声明为单个参数。理想情况下,它将采用任何类型的命名参数。

我已经尝试过:

(select petId from vaccination)
union all
(select petId from visit)

...而且不喜欢如何命名参数。

我还以为是在扩展字典定义,所以我仍然可以使用字典的 init ,但是我也不知道该怎么做。

解决方法

我认为您在*args上走的路正确,但我想您要使用的是**kwargs

def make_dict(**kwargs):
    return dict(**kwargs)

myDict = make_dict(red=2,cyan=43)
print(myDict)

它应该打印{'red': 2,'cyan': 43}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...