设置参数默认来自python中的参数

时间:2014-12-20 14:16:25

标签: python python-2.7 arguments default

我正在尝试为我定义的函数设置参数的默认值。我还希望另一个参数的默认值取决于另一个参数。在我的例子中,我试图绘制氢的量子力学波函数,但你不需要知道物理学来帮助我。

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尚未定义,因为该行未完成。有解决方案吗或者想法以另一种方式来安排它?感谢

1 个答案:

答案 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)