Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.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
Python3中有没有一种方法可以动态构建函数参数名?_Python_Python 3.x - Fatal编程技术网

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

Python3中有没有一种方法可以动态构建函数参数名?,python,python-3.x,Python,Python 3.x,我正在寻找在调用方法时动态生成函数参数名称的技巧/技巧: 我有一个函数,它使用动态参数,这些参数稍后使用http发布到Web服务: def create_case(**fields): ... 目前,我调用的函数如下: create_case(field54=first_name, field_1003=last_name, field_948=street) 由于我有多个Web服务实例,它们具有不同的字段ID,所以我尝试将这些参数名称放入配置

我正在寻找在调用方法时动态生成函数参数名称的技巧/技巧:

我有一个函数,它使用动态参数,这些参数稍后使用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)
看来,不可能仅仅把争论集中在一起。有人对我如何继续这件事有什么建议吗


致意

您可以创建参数字典:

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)

这可能会有所帮助,我认为您需要做的是将字典作为参数。您可以创建一个{:}形式的dict,并将其作为kwargs传递给函数。非常感谢:-这是一个很好的解决方案