Ein Fehler, auf den Sie in Python stoßen können, ist:

SyntaxError: positional argument follows keyword argument

Dieser Fehler tritt auf, wenn Sie ein Positionsargument in einer Funktion verwenden, nachdem Sie ein Schlüsselwortargument verwendet haben.

Hier ist der Unterschied zwischen den beiden:

Positionsargumente sind solche, denen kein „Schlüsselwort“ vorangestellt ist.

  • Beispiel: my_function(2, 2)

Schlüsselwortargumente sind solche, denen ein „Schlüsselwort“ vorangestellt ist.

  • Beispiel: my_function(a=2, b=2)

Wenn Sie ein Positionsargument nach einem Schlüsselwortargument verwenden, gibt Python einen Fehler aus.

  • Beispiel: my_function(a=2, 2)

Das folgende Beispiel zeigt, wie dieser Fehler in der Praxis auftreten kann.

Beispiel: Positionsargument folgt Schlüsselwortargument

Angenommen, wir haben die folgende Funktion in Python, die zwei Werte multipliziert und dann durch ein Drittel dividiert:

def do_stuff(a, b):
    return a * b / c

Die folgenden Beispiele zeigen gültige und ungültige Verwendungsmöglichkeiten dieser Funktion:

Gültiger Weg Nr. 1: ausschließlich Positionsargumente

Der folgende Code zeigt, wie unsere Funktion mit ausschließlich Positionsargumenten verwendet wird:

do_stuff(4, 10, 5)

8.0

Es wird kein Fehler ausgegeben, da Python genau weiß, welche Werte für jedes Argument in der Funktion verwendet werden sollen.

Gültiger Weg Nr. 2: ausschließlich Schlüsselwortargumente

Der folgende Code zeigt, wie unsere Funktion mit ausschließlich Schlüsselwortargumenten verwendet wird:

do_stuff(a=4, b=10, c=5)

8.0

Auch hier wird kein Fehler ausgegeben, da Python genau weiß, welche Werte für jedes Argument in der Funktion verwendet werden sollen.

Gültiger Weg Nr. 3: Positionsargumente vor Schlüsselwortargumenten

Der folgende Code zeigt, wie unsere Funktion mit Positionsargumenten verwendet wird, die vor Schlüsselwortargumenten verwendet werden:

do_stuff(4, b=10, c=5)

8.0

Es wird kein Fehler ausgegeben, da Python weiß, dass dem Argument a der Wert 4 zugewiesen werden muss.

Ungültiger Weg: Positionsargumente nach Schlüsselwortargumenten

Der folgende Code zeigt, wie wir versuchen können, die Funktion mit Positionsargumenten zu verwenden, die nach Schlüsselwortargumenten verwendet werden:

do_stuff(a=4, 10, 5)

SyntaxError: positional argument follows keyword argument

Ein Fehler wird ausgegeben, weil wir Positionsargumente nach Schlüsselwortargumenten verwendet haben.

Insbesondere weiß Python nicht, ob die Werte 10 und 5 den Argumenten b oder c zugewiesen werden sollen, sodass die Funktion nicht ausgeführt werden kann.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in Python beheben:

So beheben Sie KeyError in Pandas
Behebung: ValueError: Float NaN kann nicht in Integer konvertiert werden
Behebung: ValueError: Operanden konnten nicht zusammen mit Shapes gesendet werden

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: