我正在尝试为我定义的函数设置参数的默认值。我还希望另一个参数的默认值取决于另一个参数。在我的例子中,我试图绘制氢的量子力学波函数,但你不需要知道物理学来帮助我。
def plot_psi(n,l,start=(0.001*bohr),stop=(20*bohr),step=(0.005*bohr)):
其中n
是主要量子数,l
是角动量,start,stop,step
将是我计算的数组。但我需要的是stop
的默认值实际上取决于n
,因为n
会影响wave函数的大小。
def plot_psi(n,l,start=(0.001*bohr),stop=((30*n-10)*bohr),step=(0.005*bohr)):
将是我想要的,但n
尚未定义,因为该行未完成。有解决方案吗或者想法以另一种方式来安排它?感谢
答案 0 :(得分:3)
使用None
作为默认值,并计算函数内的值,如此
def plot_psi(n, l, start=(0.001*bohr),stop=None,step=(0.005*bohr)):
if stop is None:
stop = ((30*n-10)*bohr)