Utilisation et points clés à noter sur les valeurs par défaut des paramètres des fonctions Python

不言
Libérer: 2019-04-15 11:07:29
avant
4009 Les gens l'ont consulté

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(&#39;invalid user response&#39;)
        print(reminder)
Copier après la connexion

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(&#39;Do <span class="pre">you <span class="pre">really <span class="pre">want <span class="pre">to <span class="pre">quit?&#39;)<br/></span></span></span></span></span></span>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(&#39;OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?&#39;, <span class="pre">2)<br/></span></span></span></span></span></span>< /span> Ou donnez tous les paramètres : <span class="pre">ask_ok(&#39;OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?&#39;, <span class="pre">2, <span class="pre">&#39;Come <span class="pre">on, <span class="pre">only <span class="pre">yes <span class="pre">or <span class="pre">no!&#39;)</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()
Copier après la connexion

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))
Copier après la connexion

Cela affichera

[1]
[1, 2]
[1, 2, 3]
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!