HOWTO · Python
keyword can't be an expression in Python beheben
In diesem Tutorial wird erläutert, dass die Schlüsselwörter in Python kein Ausdrucksfehler sein können.
Auf dieser Seite
Schlüsselwörter sind reservierte Wörter mit einem bestimmten Zweck, und Schlüsselwortargumente in Python sind Werte, die an eine Funktion übergeben werden, die anhand des Parameternamens identifiziert wird.
Wie Sie das keyword can't be an expression beheben, erfahren Sie in diesem Artikel. Es fällt in Python in SyntaxError. Ein SyntaxError wird ausgelöst, wenn die grundlegende Syntax von Python nicht befolgt wird.
Dieser Fehler tritt im folgenden Beispiel auf.
def display(a):
print(a)
display(a.first="Hello")
Ausgabe:
SyntaxError: keyword can't be an expression
Im obigen Beispiel ist a das Schlüsselwort und Hello der Argumentwert. Der Fehler tritt auf, weil das Schlüsselwort ein Ausdruck ist und einen Punkt (.first) hat.
Wir können dies korrigieren, indem wir sicherstellen, dass das Schlüsselwort nicht in Form eines Ausdrucks vorliegt.
def display(a):
print(a)
display(a="Hello")
Ausgabe:
Hello
Normalerweise erhalten wir diesen Fehler, wenn wir einfache Operationen ausführen, die sich auf die Übergabe von Werten an eine Funktion beziehen. Nehmen Sie ein weiteres Beispiel für diesen Fehler beim Erstellen eines Wörterbuchs mit der Funktion dict().
Siehe Code unten.
a = dict("name"="delft", "lname"="stack")
Ausgabe:
SyntaxError: keyword can't be an expression
Bei Verwendung des Konstruktors dict() werden die Schlüssel als Argumente übergeben und durch Anführungszeichen als Ausdruck interpretiert. Wir können dies vermeiden, indem wir die Anführungszeichen in den Schlüsseln entfernen.
Beispielsweise:
a = dict(name="delft", lname="stack")
print(a)
Ausgabe:
{'name': 'delft', 'lname': 'stack'}