Heim > Backend-Entwicklung > Python-Tutorial > Verwendung und wichtige Punkte, die Sie zu den Standardwerten von Python-Funktionsparametern beachten sollten

Verwendung und wichtige Punkte, die Sie zu den Standardwerten von Python-Funktionsparametern beachten sollten

不言
Freigeben: 2019-04-15 11:07:29
nach vorne
4058 Leute haben es durchsucht

In diesem Artikel geht es um die Verwendung und die wichtigsten Punkte, die Sie zu den Standardwerten von Python-Funktionsparametern beachten sollten Ich hoffe, es wird Ihnen helfen. Die nützlichste Form von

gibt einen Standardwert für einen oder mehrere Parameter an. Die auf diese Weise erstellte Funktion kann mit weniger Argumenten aufgerufen werden, als bei der Definition zulässig sind, zum Beispiel:

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)
Nach dem Login kopieren

Diese Funktion kann auf verschiedene Arten aufgerufen werden:

Nur ​​mit den erforderlichen Parametern : <span class="pre">ask_ok('Was <span class="pre">Sie <span class="pre">wirklich <span class="pre"> wollen <span class="pre">zu <span class="pre">aufhören?')<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>< / code>Gibt einen optionalen Parameter:<span class="pre">ask_ok('OK <span class="pre">to <span class="pre"> overwrite <span class ="pre">die <span class="pre">Datei?', <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>Oder geben Sie alle Parameter an: <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>

In diesem Beispiel wird auch das Schlüsselwort <span class="pre">in</span> eingeführt. Es kann testen, ob eine Sequenz einen bestimmten Wert enthält.

Der Standardwert wird bei der Funktionsdefinition im Definitionsprozess berechnet, sodass

i = 5

def f(arg=i):
    print(arg)

i = 6
f()
Nach dem Login kopieren

5 ausgibt.

Wichtige Warnung: Der Standardwert wird nur einmal ausgeführt. Diese Regel ist wichtig, wenn der Standardwert ein veränderbares Objekt ist (Python-Listen, Wörterbücher und die meisten Klasseninstanzen). Die folgende Funktion speichert beispielsweise die Argumente, die ihr bei nachfolgenden Aufrufen übergeben werden:

def f(a, L=[]):
    L.append(a)
    return L

print(f(1))
print(f(2))
print(f(3))
Nach dem Login kopieren

Dadurch wird

[1]
[1, 2]
[1, 2, 3]
Nach dem Login kopieren

ausgegeben, wenn Sie nicht möchten, dass der Standardwert von nachfolgenden Aufrufen gemeinsam genutzt wird , können Sie diese Python-Funktion wie folgt schreiben:

def f(a, L=None):
    if L is None:
        L = []
    L.append(a)
    return L
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonVerwendung und wichtige Punkte, die Sie zu den Standardwerten von Python-Funktionsparametern beachten sollten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage