我想动态分配来自.net的Dictionary实例的参数值, 像这样:
def Evaluator(IEvaluator):
def Execute(self, parameters):
a = parameters['a']
b = parameters['b']
c = parameters['c']
d = parameters['d']
e = parameters['e']
return self.Sum(a, b, c, d, e)
def Sum(self, a, b, c, d, e):
return a + b + c + d + e
我想找到一种从字典中以编程方式分配变量值的方法 像这样:
def Evaluator(IEvaluator):
def Execute(self, parameters):
return self.Sum(SetParametersByName(parameters))
def Sum(Self, a, b, c, d, e):
return a + b + c + d + e
我知道这可能不像我写的那样可能,但你明白了。
非常感谢,
埃斯特。
答案 0 :(得分:1)
这应该有效:
def Execute(self, parameters):
return self.Sum(**parameters)
如果没有,您首先必须将.NET Dictionary
转换为Python dict
(并告诉我,所以我可以提交错误):
def Execute(self, parameters):
return self.Sum(**dict(parameters))
此功能通常被称为“kwargs”,我不相信它有正式名称。
答案 1 :(得分:1)
def Execute(self, parameters):
return self.Sum(**parameters)
会自动将.net Dictionary实例转换为** python词典
非常感谢。