Was sind Zuweisungsausdrücke und wie funktionieren sie in Python?

Susan Sarandon
Freigeben: 2024-10-30 21:42:30
Original
180 Leute haben es durchsucht

What are Assignment Expressions and How Do They Work in Python?

Zuweisungsausdrücke in Python: Der „Walross“-Operator (=:)

In Python 3.8 eingeführt, stellen Zuweisungsausdrücke den „Walross“-Operator (:=) bereit eine bedeutende Sprachverbesserung, die Zuweisungen innerhalb von Verständnissen und Lambdas ermöglicht.

Syntax und Semantik

Ein Zuweisungsausdruck ist ein benannter Ausdruck der Form name := expr, wobei name ein Bezeichner und expr ist jeder gültige Ausdruck. Der Ausdruck wird mit dem Wert von expr ausgewertet und gleichzeitig dieser Wert dem Namen zugewiesen.

Begründung für die Einführung

Die Hauptmotivation für das Hinzufügen von Zuweisungsausdrücken war:

  • Erlauben Sie Zuweisungen in Kontexten, in denen herkömmliche Zuweisungen verboten waren, wie etwa Listenverständnisse und Lambdas.
  • Verbessern Sie das interaktive Debugging, indem Sie eine einfache Wertzuweisung erleichtern.

Verwendungsbeispiele

a) Bedingte Werte erhalten

Anstelle von:

<code class="python">command = input("> ")
while command != "quit":
    print("You entered:", command)
    command = input("> ")</code>
Nach dem Login kopieren

Zuweisungsausdrücke ermöglichen:

<code class="python">while (command := input("> ")) != "quit":
    print("You entered:", command)</code>
Nach dem Login kopieren

b) Vereinfachen des Listenverständnisses

Beispiel:

<code class="python">[(lambda y: [y, x/y])(x+1) for x in range(5)]</code>
Nach dem Login kopieren

Kann vereinfacht werden zu:

<code class="python">[[y := x+1, x/y] for x in range(5)]</code>
Nach dem Login kopieren

Hauptunterschiede zu regulären Zuweisungen

Zuweisungsausdrücke unterscheiden sich von regulären Zuweisungen in mehreren Aspekten:

  • Sie werden von rechts nach links ausgewertet.
  • Sie haben eine andere Priorität als Kommas.
  • Sie unterstützen keine Mehrfachziele, Zuweisungen zu nicht-einzelnen Namen oder iterierbares Packen/Entpacken.
  • Inline-Typanmerkungen und erweiterte Zuweisungen werden ebenfalls nicht unterstützt.

Das obige ist der detaillierte Inhalt vonWas sind Zuweisungsausdrücke und wie funktionieren sie in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!