Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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
Python关键字参数使用变量作为key-fun(self.key=";value)?_Python_Python 2.7 - Fatal编程技术网

Python关键字参数使用变量作为key-fun(self.key=";value)?

Python关键字参数使用变量作为key-fun(self.key=";value)?,python,python-2.7,Python,Python 2.7,是否有办法实现以下目标: calculate_fun(self.key1="some_value", self.key2="another_value") 基本上使用变量作为关键字变量的键 目前,如果我尝试此操作,它会出错,因为它不接受“=”符号左侧的变量。它期望以以下形式出现: calculate_fun(field1="some_value", field2="another_value") 但这意味着我需要硬编码field1和field2。我希望关键字是一个变量,这样我可以在运行时更改

是否有办法实现以下目标:

calculate_fun(self.key1="some_value", self.key2="another_value")
基本上使用变量作为关键字变量的键

目前,如果我尝试此操作,它会出错,因为它不接受“=”符号左侧的变量。它期望以以下形式出现:

calculate_fun(field1="some_value", field2="another_value")

但这意味着我需要硬编码field1和field2。我希望关键字是一个变量,这样我可以在运行时更改它,因此field1可以在运行时变为field55。

是,使用字典解包:

calculate_fun(**{self.key1: "some_value", self.key2: "another_value"})

你是认真的吗?回答我问题的那个人完全正确。他只是胡乱猜了一下,答对了。但对我来说,您编写的内容似乎需要在调用函数时自动执行并分配给实例属性,这没有任何意义。我否决了你的问题,因为就目前的情况来看,未来的读者无法理解。当你把问题弄清楚后,我会把它提出来。@Bakuriu没有胡乱猜测,尽管(编辑前)措辞拙劣,但这个问题确实有意义。@StefanoSanfilippo没错,在这种情况下,它也是一个(明显的)重复。显然是一个重复,但应该注意的是,
def(**kwargs)
在接受的原始答案中声明的内容是不必要的。@StefanoSanfilippo,谢谢!完全正确工作起来很有魅力。