请教一个在各种模块的不同组合中选取最优的问题。
假设一段主程序本质上是一个流程,先A再B再C。但是A、B、C都有多种实现方式,比如A可以是A1、或A2、或A3。
class A:
def func_a(self):
pass
class A1(A):
def func_a1(self):
pass
class A2(A):
def func_a2(self):
pass
所以,主程序既可以采用A1+B1这样的模块组合:
if __name__ == "__main__":
A1()
B1()
主程序也可以采用A2+B2这样的模块组合:
if __name__ == "__main__":
A2()
B2()
但是不知道到底是A1+B1的结果更好,还是A2+B2的结果更好,还是A1+B3等等其他组合才是最优的。
有没有办法配置一个config文件,里面枚举了所有A和B的组合,然后让主程序逐一运行试验所有的组合、并且找出最优呢?谢谢了先!
用itertools.product来手动排列所有的组合?