我有两个函数,我试图从第二个中的第一个调用一个值。即使我已将包含该值的参数传递给第二个函数,我仍然会收到错误名称'dm_p' is not defined
。
我尝试在第二个函数中重新定义它并传递参数,但没有任何帮助。
我的代码是:
def run(detvar, dmvar='CDM'):
dm_p = DM(dmvar['density'], dmvar['velocity'], dmvar['mass'], dmvar['cross_section'])
elif dmvar == 'CDM':
dm_p = DM(0.3, 230., 10., 1e-5)
def calcrate_1(dm_p):
rate_1 = dm_p.cross_section*v_esc*(dm_p.density/dm_p.mass)*(ap.constants.N_A/det.atomic_mass)*det.mass_of_detector
return rate_1
print("RATE 1: ", rate_1)