替换变量';函数调用期间Python中的值。

替换变量';函数调用期间Python中的值。,python,function,Python,Function,在我的python程序中,我必须调用如下函数: driver_name.project.paired_config_L1_M_10g() 我调用的函数取决于我存储在三个变量中的值,即: varA == M varB == L1 varC = 10g varA、varB和varC可以分别有大约20个不同的值,我不想为它们中的每一个编写函数调用(尽管存在实际的函数定义)。通常我希望函数调用是: driver_name.project.paired_config_$varA_$varB_$

在我的python程序中,我必须调用如下函数:

driver_name.project.paired_config_L1_M_10g() 
我调用的函数取决于我存储在三个变量中的值,即:

varA == M 
varB == L1 
varC = 10g 
varA
varB
varC
可以分别有大约20个不同的值,我不想为它们中的每一个编写函数调用(尽管存在实际的函数定义)。通常我希望函数调用是:

driver_name.project.paired_config_$varA_$varB_$varC() 

但这似乎不起作用。建议

你有没有考虑过字典是一种可能的解决方案

只需使用适当的键(varA、varB、varC)和define函数初始化字典。那就叫它吧

driver_func_dict['ML110g'] = driver_name.project.paired_config_M_L1_10g
#init more dictionary items here
...

#call function
driver_funct_dict[str(varA)+str(varB)+str(varC)]()

您可以使用
getattr
。它将对象和属性名称作为字符串并返回属性。这里返回的值是一个可以立即调用的方法

getattr(driver_name.project, 'project_config_%s_%s_%s' % (varA, varB, varC))()

这个对象真的有8000个方法吗?看起来这些方法应该是一个包含3个参数的方法。