Python3中有没有一种方法可以动态构建函数参数名?
我正在寻找在调用方法时动态生成函数参数名称的技巧/技巧: 我有一个函数,它使用动态参数,这些参数稍后使用http发布到Web服务: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,所以我尝试将这些参数名称放入配置
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传递给函数。非常感谢:-这是一个很好的解决方案