Python-Zuweisungsausdrücke

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir uns mit den Python-Zuweisungsausdrücken beschäftigen, auch bekannt als „Walrus-Operator“ (:=). Dieser Operator, der in Python 3.8 eingeführt wurde, ermöglicht es Ihnen, einen Wert an eine Variable als Teil eines Ausdrucks zuzuweisen. Er eignet sich besonders gut zur Optimierung von Code, Vermeidung von redundanten Berechnungen und Vereinfachung komplexer Ausdrücke.

Am Ende dieses Labs sollten Sie in der Lage sein, die Zuweisungsausdrücke in Ihren Python-Programmen zu verstehen und anzuwenden. Wir werden mit einfachen Beispielen beginnen und schrittweise zu komplexeren fortschreiten.

Einfacher Zuweisungsausdruck

In diesem Schritt beginnen wir mit einem einfachen Beispiel, um die grundlegende Syntax von Zuweisungsausdrücken zu verstehen.

Öffnen der Python-Shell

Öffnen Sie die Python-Shell, indem Sie den folgenden Befehl in der Konsole eingeben.

python3

Einfache Tests

Beginnen wir mit einem einfachen Beispiel

## Grundlegendes Beispiel eines Zuweisungsausdrucks
n = 5
result = (squared := n * n)
print(squared, result)

Ausgabe:

25 25

Hierzu weisen wir mithilfe des Walrus-Operators := innerhalb der Klammern das Ergebnis von n * n der Variable squared zu. Anschließend weisen wir den Wert von squared der Variable result zu. Am Ende geben wir die Werte von squared und result aus.

Verwendung von Zuweisungsausdrücken in einer bedingten Anweisung

In diesem Schritt werden wir die Verwendung von Zuweisungsausdrücken in einer bedingten Anweisung untersuchen.

## Verwendung von Zuweisungsausdrücken in einer bedingten Anweisung
input_str = "Hello, world!"
if (length := len(input_str)) > 10:
    print(f"Die Zeichenkette hat {length} Zeichen, was mehr als 10 ist.")
else:
    print(f"Die Zeichenkette hat {length} Zeichen, was weniger als oder gleich 10 ist.")

Ausgabe:

Die Zeichenkette hat 13 Zeichen, was mehr als 10 ist.

Hier berechnen wir die Länge von input_str und weisen sie der Variable length zu, indem wir den Walrus-Operator innerhalb der Bedingung der if-Anweisung verwenden. Dadurch können wir den Wert von length in beiden Zweigen der bedingten Anweisung verwenden.

Verwendung von Zuweisungsausdrücken in einer Schleife

Jetzt schauen wir uns an, wie man Zuweisungsausdrücke in einer Schleife verwendet.

## Verwendung von Zuweisungsausdrücken in einer Schleife
numbers = [1, 2, 3, 4, 5]
while (n := numbers.pop()) > 2:
    print(f"Entnommen {n}, das größer als 2 ist.")
print(f"Entnommen {n}, das kleiner als oder gleich 2 ist.")

Ausgabe:

Entnommen 5, das größer als 2 ist.
Entnommen 4, das größer als 2 ist.
Entnommen 3, das größer als 2 ist.
Entnommen 2, das kleiner als oder gleich 2 ist

In diesem Beispiel verwenden wir den Walrus-Operator innerhalb der Bedingung der while-Schleife, um Elemente aus der numbers-Liste zu entfernen und ihnen der Variable n zuzuweisen. Die Schleife setzt sich fort, bis ein Element kleiner als oder gleich 2 entnommen wird.

Verwendung von Zuweisungsausdrücken in einer Listenkomprehension

Schließlich werden wir die Verwendung von Zuweisungsausdrücken in einer Listenkomprehension untersuchen.

## Verwendung von Zuweisungsausdrücken in einer Listenkomprehension
from math import sqrt

numbers = [1, 4, 9, 16, 25]
roots = [int(root) for n in numbers if (root := sqrt(n)) == int(root)]
print(roots)

Ausgabe:

[1, 2, 3, 4, 5]

In diesem Beispiel verwenden wir den Walrus-Operator in einer Listenkomprehension, um die Quadratwurzel jeder Zahl in numbers zu berechnen und zu überprüfen, ob es sich um eine ganze Zahl handelt. Wenn ja, fügen wir die ganze Zahl Quadratwurzel zur roots-Liste hinzu.

Zusammenfassung

In diesem Lab haben wir die Python-Zuweisungsausdrücke (Walrus-Operator) anhand einer Reihe von schrittweisen Beispielen untersucht. Wir haben die grundlegende Syntax und die Verwendung in bedingten Anweisungen, Schleifen und Listenkomprehensions behandelt. Zu diesem Zeitpunkt sollten Sie eine gute Vorstellung davon haben, wie Sie Zuweisungsausdrücke in Ihrem Python-Code verwenden, um komplexe Ausdrücke zu optimieren und zu vereinfachen.

Denken Sie daran, die Zuweisungsausdrücke weise zu verwenden, um Ihren Code lesbarer und effizienter zu machen. Wie bei jeder Programmierfunktion ist es wichtig, sie nicht zu übermäßig zu verwenden, da dies zu weniger wartbarem Code führen kann, wenn er zu häufig oder ungeeignet verwendet wird.

Üben Sie weiterhin und experimentieren Sie mit dem Walrus-Operator in verschiedenen Szenarien, um Ihre Python-Programmierkenntnisse zu verbessern. Viel Glück und viel Spaß beim Programmieren!