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('invalid user response') print(reminder)
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('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>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('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>
Oder geben Sie alle Parameter an: <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>
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()
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))
Dadurch wird
[1] [1, 2] [1, 2, 3]
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
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!