在我的python脚本中,从一个角度来看,我想看看Monte-Carlo模拟的过程,看看发生了什么,在另一点上,我想运行动态并在最后看到最终结果。目前可以通过更改以下部分来实现。但是,如果我要使用两个不同的main.py,那将非常麻烦,因为无论何时更改文件中的某些内容,您都需要更改另一个文件中的相同部分。本方法如下。 这是动画脚本的结构,它在模拟过程中显示每一帧
import python_animation_modules
import ...
def init():
bla, bla
return lines,
def simulation():
globals
bla, bla
set_lines() - redefine data using set_data
return lines,
animation.FuncAniaion(..frames=Nstep..)
plt.show()
我可以改变这个以显示最后一个数字。
def init():
bla, bla
return lines,
while (i<Nax_num):
#def simulation():
# globals
bla, bla
set_lines() # redefine data using set_data
#return lines,
#animation.FuncAniation(...MAX_num.)
plt.show()
是否有可能使用预处理器或其他精密技术的方式 在python中。在C中,这是可能的,
#define DYNAMICS
#ifndef DYNAMICS
while( i< MAX_num):
#else
def simulation():
# globals
答案 0 :(得分:1)
您似乎想要使用#IFDEF
来避免重复代码......但为什么不明确地使用代码呢?类似的东西:
def simulate():
bla, bla
set_lines()
def simulation():
globals
simulate()
return lines,
def dynamics():
animation.FuncAniation(...MAX_num.)
def no_dynamics():
while (i < MAX_num):
simulate()
if DYNAMICS: dynamics()
else: no_dynamics()
plt.show()
根本想法是:将公共位分解为它自己的例程,然后从包含特定于案例的代码的包装器中调用它。