keyword can't be an expression in Python beheben

Manav Narula 14 April 2022
keyword can't be an expression in Python beheben

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'}
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - Python Error