Python3中有没有一种方法可以动态地构建函数参数名称?

时间:2020-06-10 08:20:29

标签: python python-3.x

我正在寻找一种提示/技术来在调用方法时动态地构建函数自变量名称:

我有一个使用动态参数的函数,该参数随后通过http:

发布到Web服务。
def create_case(**fields):
...

当前,我这样调用函数:

create_case(field54=first_name,
            field_1003=last_name,
            field_948=street)

由于我有多个Web服务实例,这些实例具有不同的字段ID,因此我尝试将这些参数名称放入配置文件中并动态构建它们。我目前的所有尝试都没有成功,而且我对如何解决此问题也没有足够的想法。

我尝试过的事情:

config.py:

FIELD_FIRST_NAME=54
FIELD_LAST_NAME=1003
FIELD_STREET=948

client.py:

create_case(field_+config.FIELD_FIRST_NAME=first_name,
            field_+config.FIELD_LAST_NAME=last_name,
            field_+config.FIELD_STREET=street)

似乎不可能仅将参数合并在一起。有人对我该如何进行建议吗?

最诚挚的问候

1 个答案:

答案 0 :(得分:2)

您可以创建参数字典:

kwargs_dict = {
    "field_"+str(config.FIELD_FIRST_NAME): first_name,
    "field_"+str(config.FIELD_LAST_NAME): last_name,
    "field_"+str(config.FIELD_STREET): street
}

,然后将其传递给函数:

create_case(**kwargs_dict)
相关问题