Der Walross-Operator := in Python

Manav Narula 14 April 2022
Der Walross-Operator := in Python

Python-Benutzer erhalten regelmäßige Updates, wenn neue Änderungen vorgenommen werden, und Funktionen werden in jedem Update hinzugefügt. Mit Python 3.8 wurde der Walross-Operator := eingeführt. Es ist ein Zuweisungsoperator.

Wir werden den Walross-Operator in diesem Tutorial besprechen.

Walross-Operator in Python

Im Gegensatz zum traditionellen Zuweisungsoperator =, der die Werte zuweist, kann der Walross-Operator := den Wert zuweisen und gleichzeitig die Variable zurückgeben. Dieser Operator ist eine hilfreiche Funktion zum Zuweisen von Werten innerhalb eines Ausdrucks.

Wir verwenden Klammern, um einer Variablen einen Wert zuzuweisen, während wir diesen Operator verwenden.

Beispielsweise:

(a := 5)
print(a)

Ausgabe:

5

Der Walross-Operator ist nützlich, da er es uns ermöglicht, wiederholte Anweisungen in vielen Fällen zu vermeiden. Wir können die Werte im Kontext eines Ausdrucks einer Variablen zuweisen, die möglicherweise noch nicht existiert.

a = [1, 2, 3]
if (n := len(a)) > 5:
    pass
print(n)

Ausgabe:

3

Der obige Code gibt einen Fehler aus, wenn wir den traditionellen Zuweisungsoperator verwenden. Da wir jedoch den Walross-Operator verwenden, könnten wir den Wert für n im Ausdruck definieren und ihn danach verwenden.

Nehmen wir nun ein weiteres Beispiel.

a = [1, 2, 3]
d = {1: len(a), 2: sum(a), 3: sum(a) / len(a)}
print(d)

Ausgabe:

{1: 3, 2: 6, 3: 2.0}

Im obigen Beispiel berechnen wir die Länge und Summe der Liste zweimal. Wir können dies mit dem Walross-Operator vermeiden.

Mit diesem Operator können wir die Variable für Länge und Summe innerhalb des Ausdrucks zuweisen.

Beispielsweise:

a = [1, 2, 3]
d = {1: (n := len(a)), 2: (s := sum(a)), 3: (n / s)}
print(d, n, s)

Ausgabe:

{1: 3, 2: 6, 3: 0.5} 3 6

Hier haben wir den Walross-Operator verwendet, um die Variablen n und s innerhalb des Ausdrucks zuzuweisen. Dann verwenden wir diese Variablen innerhalb des Ausdrucks und zeigen sie danach an.

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 Operator