2014-12-20 21 views
5

Sto provando a impostare un valore predefinito per un argomento in una funzione che ho definito. Voglio anche un altro argomento per avere un valore predefinito che dipende dall'altro argomento. Nel mio esempio, sto provando a tracciare la funzione d'onda meccanica quantistica per Hydrogen, ma non è necessario conoscere la fisica per aiutarmi.Impostazione degli argomenti di default dagli argomenti in python

def plot_psi(n,l,start=(0.001*bohr),stop=(20*bohr),step=(0.005*bohr)): 

dove n è il numero quantico principio, l è il momento angolare e start,stop,step sarà la matrice a calcolare sopra. Ma ciò di cui ho bisogno è che il valore predefinito di stop dipenda effettivamente da n, poiché n influirà sulle dimensioni della funzione d'onda.

def plot_psi(n,l,start=(0.001*bohr),stop=((30*n-10)*bohr),step=(0.005*bohr)): 

sarebbe quello che stavo per, ma n non è ancora definita perché la linea non è completa. Qualche soluzione? O idee per un altro modo di organizzarlo? Grazie

risposta

3

Usa None come valore di default, e calcolare i valori all'interno della funzione, come questo

def plot_psi(n, l, start=(0.001*bohr),stop=None,step=(0.005*bohr)): 
    if stop is None: 
     stop = ((30*n-10)*bohr) 
+1

non dovrebbe essere 'se fermata è none'? –

Problemi correlati