我已经定义了一个类,它采用 [fname1,[parameters1],fname2,[parameters2],...] 形式的列表作为创建实例的参数。
这个想法是让实例一次执行列表中的所有函数,将它们各自的参数传递给它们——这工作得很好,但我想出的实现非常难看。它看起来像这样:
# (The input list is split up and transformed into two lists -
# one containing the function names as strings, the other one containing tuples)
# (It then runs a for-loop containing the following statement)
exec '%s%s'%(fname[i],repr(parameter_tuple[i]))
哪个输出并运行'fname(parameters,more_parameters,and,so,on)',就像它应该做的那样。
我不知道为什么,但是自从我编写了这个代码后,我因此认为我应该为此受到一次非常好的打击......虽然它有效,但我只知道必须有一个不那么丑陋的实现。有谁愿意帮我看看吗?或者也许是为了打败我?;-)