我需要根据单个用户的输入分配几个变量。我的代码已经有机地演变成以下结构,我想升级到更pythonic的东西。你知道吗
def build_simulation(type='running'):
var1 = {'running': 1, 'starting': 2, 'stopping': 3}
var2 = {'running': math.pi, 'starting': 7/9, 'stopping': 1e-6}
varN = {'running': 'this', 'starting': 'is an', 'stopping': 'example'}
return other_function(var1[type])+var2[type], text+varN[type]
我的模拟最终可能会有几个类型,其他用户可能希望稍后添加自己的类型(或变量)。有人能提出一个高度python的方式来为后代建立这个吗?你知道吗
到目前为止,我已经考虑建立一个巨大的矩阵(numpy?熊猫?)或者因为我最近发现了面向对象编程的乐趣,可能是在课堂上做了一些聪明的事情。你知道吗
编辑:要求澄清该项目。我正在为迭代fortran代码生成输入组,其中main()的形式如下:
build sim1 from scratch, type='startup'
run sim1
build sim2 from sim1 results, type='running'
run sim2
build sim3 from sim2 results, type='shutdown'
run sim3
build sim4 from sim3 results, type='startup'
run sim4
build sim5 from sim4 results, type='Accident Scenario 1'
因此,我们的目标是将所有的“类型”信息放在一个地方,这样,如果其他用户想添加更多的信息,就可以在代码中的一个位置添加这些信息,而且很容易进行添加。我还想使用一种通用的方法,它可以使以后在模拟变得更复杂时添加附加功能变得更容易。你知道吗
这个怎么样?您将为每个场景创建一个单独的函数(将相关数据保存在一起)。成本可能是使场景参数全局化(如图所示),或者将它们放入字典中,或者使它们成为简单对象的属性:
相关问题 更多 >
编程相关推荐