Positionsargumente vs. Schlüsselwortargumente

Mai 16, 2021
admin

Verwandte Artikel:

  • Funktionen
  • Übergabe einer Funktion als Argument
  • Sternchen in Python

Transcript:

Lassen Sie uns über die zwei Arten von Argumenten sprechen, die Sie beim Aufruf einer Funktion verwenden können:Positionsargumente und benannte Argumente (a.k.a. Schlüsselwortargumente).

Positionsargumente

Wenn Sie die eingebaute Funktion print aufrufen, können Sie eine beliebige Anzahl von Positionsargumenten übergeben:

>>> print(2, 1, 3, 4)2 1 3 4

Wir nennen sie Positionsargumente, weil ihre Position wichtig ist.Die Reihenfolge dieser Argumente ist von Bedeutung: Das erste Argument wird als erstes ausgedruckt, das letzte als letztes.

Schlüsselwortargumente (auch benannte Argumente genannt)

Die print Funktion akzeptiert auch einige Argumente als Schlüsselwortargumente.

Die Funktion print akzeptiert ein optionales sep-Argument (das standardmäßig ein Leerzeichen ist).

>>> print(2, 1, 3, 4, sep=' ')2 1 3 4>>> print(2, 1, 3, 4)2 1 3 4>>> print(2, 1, 3, 4, sep='-')2-1-3-4>>> print(2, 1, 3, 4, sep=', ')2, 1, 3, 4

Das sep-Argument definiert das Trennzeichen, das zwischen den einzelnen Positionsargumenten von print ausgegeben werden soll.

Es gibt auch ein optionales end-Schlüsselwortargument.Das end-Argument ist standardmäßig ein Zeilenumbruch:

>>> print(2, 1, 3, 4, sep=', ', end='\n')2, 1, 3, 4

Aber wir können einige Ausrufezeichen in das end-Argument setzen (vor einem Zeilenumbruch), um Ausrufezeichen am Ende auszudrucken:

>>> print(2, 1, 3, 4, sep=', ', end='!!\n')2, 1, 3, 4!!

Die Reihenfolge der Schlüsselwortargumente spielt keine Rolle

Die Reihenfolge der sep– und end-Argumente der Funktion print spielt eigentlich keine Rolle.

>>> print(2, 1, 3, 4, end='!!\n', sep=', ')2, 1, 3, 4!!

Die Reihenfolge spielt hier keine Rolle, weil es keine Positionsargumente sind, sondern benannte Argumente.

Positionsargumente haben Kommas zwischen ihren Werten.

>>> print(2, 1, 3, 4)2 1 3 4

Schlüsselwortargumente (auch bekannt als.

>>> print(2, 1, 3, 4, sep=',', end='!\n')2,1,3,4!

Schlüsselwortargumente müssen nach den Positionsargumenten stehen.

Die Position von Schlüsselwortargumenten spielt keine Rolle: Der Name ist wichtig, nicht die Position.

Schlüsselwortargumente anstelle von Positionsargumenten verwenden

Schlüsselwortargumente sind nicht nur für Funktionen nützlich, die eine beliebige Anzahl von Positionsargumenten akzeptieren (wie print).Man kann Schlüsselwortargumente an so ziemlich jede Funktion in Python übergeben.

Zum Beispiel akzeptiert die eingebaute Funktion sum ein erstes Argument:

>>> sum()10

Aber sie akzeptiert auch ein zweites Argument, das standardmäßig auf Null gesetzt ist:

>>> sum(, 0)10

Wenn wir das zweite Argument in 1 ändern, sehen wir, dass dies der Startwert für die zurückgegebene Summierung ist:

>>> sum(, 1)11

Ich würde diese Funktion lieber so aufrufen:

>>> sum(, start=1)11

Wir geben ein Positionsargument und ein Schlüsselwortargument ein.

Das start=1 funktioniert mit sum, weil start der Name dieses Arguments ist, und in der Dokumentation der Funktion sum steht, dass das zweite Argument start heißt:

>>> help(sum)Help on built-in function sum in module builtins:sum(iterable, /, start=0) Return the sum of a 'start' value (default: 0) plus an iterable of numbers When the iterable is empty, return the start value. This function is intended specifically for use with numeric values and may reject non-numeric types.

Wenn man also mit benannten Argumenten (auch Schlüsselwortargumente genannt) arbeitet, ist der Name des Arguments wichtig, während bei Positionsargumenten die Position wichtig ist.

Zusammenfassung

Wenn wir eine Funktion in Python aufrufen, können wir zwei verschiedene Arten von Argumenten übergeben:

  1. positionsbezogene Argumente
  2. benannte Argumente (auch bekannt als. Schlüsselwortargumente)

Benannte Argumente können Ihren Code manchmal etwas anschaulicher machen, weil Sie einem Objekt einen Namen gegeben haben, dessen Verwendung sonst vielleicht nicht klar ist, einfach durch seine Position in einem Funktionsaufruf.

Wollen Sie mehr Python-Themen erklärt sehen?

Hallo freundlicher Web-Besucher! 👋

Diese Seite ist Teil von Python Morsels, einem Online-Dienst zum Erlernen von Python.

Am besten lernt man, indem man etwas tut. Im Fall von Python bedeutet das, Python-Code zu schreiben. Wenn Sie Ihre Python-Kenntnisse jede Woche verbessern möchten, probieren Sie Python Morsels aus, indem Sie unten Ihre E-Mail-Adresse eingeben, um ein Konto zu erstellen.

Die Themenseiten von Python Morsels sind kostenlos und der erste Monat mit Übungen ist ebenfalls kostenlos. Sie müssen keine Zahlungsdaten eingeben, um sich anzumelden.

Sie können Erklärungen zu vielen anderen Python-Themen finden, indem Sie sich unten anmelden.

Mit der Anmeldung erklären Sie sich mit den Datenschutzbestimmungen einverstanden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.