Le contenu de cet article concerne l'utilisation et les points clés à noter concernant les valeurs par défaut des paramètres de la fonction python. J'espère qu'il a une certaine valeur de référence. cela vous sera utile. La forme la plus utile de
spécifie une valeur par défaut pour un ou plusieurs paramètres. La fonction ainsi créée peut être appelée avec moins d'arguments que ce qui est autorisé lors de la définition, par exemple :
def ask_ok(prompt, retries=4, reminder='Please try again!'): while True: ok = input(prompt) if ok in ('y', 'ye', 'yes'): return True if ok in ('n', 'no', 'nop', 'nope'): return False retries = retries - 1 if retries < 0: raise ValueError('invalid user response') print(reminder)
Cette fonction peut être appelée de plusieurs manières :
est donnée uniquement les paramètres obligatoires : <span class="pre">ask_ok('Voulez-vous <span class="pre">vraiment <span class="pre "> <span class="pre">pour <span class="pre">quitter ?')<code class="docutils literal notranslate"><span class="pre">ask_ok('Do <span class="pre">you <span class="pre">really <span class="pre">want <span class="pre">to <span class="pre">quit?')<br/></span></span></span></span></span></span>
code>Donnez un paramètre facultatif : <span class="pre">ask_ok('OK <span class="pre">pour <span class="pre ">écraser <span class ="pre">le <span class="pre">fichier ?', <span class="pre">2)<code class="docutils literal notranslate"><span class="pre">ask_ok('OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?', <span class="pre">2)<br/></span></span></span></span></span></span>
< /span> Ou donnez tous les paramètres : <span class="pre">ask_ok('OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?', <span class="pre">2, <span class="pre">'Come <span class="pre">on, <span class="pre">only <span class="pre">yes <span class="pre">or <span class="pre">no!')</span></span></span></span></span></span></span></span></span></span></span></span>
Cet exemple introduit également le mot-clé <span class="pre">in</span>
. Il peut tester si une séquence contient une certaine valeur.
La valeur par défaut est calculée lors de la définition de la fonction dans le processus de définition, donc
i = 5 def f(arg=i): print(arg) i = 6 f()
imprimera 5.
Avertissement important : La valeur par défaut ne sera exécutée qu'une seule fois. Cette règle est importante lorsque la valeur par défaut est un objet mutable (listes Python, dictionnaires et la plupart des instances de classe). Par exemple, la fonction suivante stockera les arguments qui lui seront transmis lors des appels suivants :
def f(a, L=[]): L.append(a) return L print(f(1)) print(f(2)) print(f(3))
Cela affichera
[1] [1, 2] [1, 2, 3]
si vous ne souhaitez pas partager les valeurs par défaut entre valeur des appels ultérieurs, vous pouvez écrire cette fonction python comme ceci :
def f(a, L=None): if L is None: L = [] L.append(a) return L
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!