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

不言
不言nach vorne
2019-04-15 11:07:084066Durchsuche

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)

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>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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen