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

Patricia Arquette
Freigeben: 2024-11-01 13:05:02
Original
124 Leute haben es durchsucht

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

Zuweisungsausdrücke mit dem „Walross“-Operator: Eine Python 3.8-Funktion

Python 3.8 führte ein neues Konzept ein, das als „Zuweisungsausdrücke“ bekannt ist und den „:="-Operator verwendet , allgemein als „Walross“-Operator bezeichnet.

Syntax, Semantik und Grammatik

Ein Zuweisungsausdruck hat die Form name := expr, wobei expr ist ein beliebiger gültiger Python-Ausdruck und name ist ein Bezeichner. Die Semantik besteht darin, dass der Wert des Ausdrucks dem Namen zugewiesen wird und der Wert des Zuweisungsausdrucks auch derselbe ist wie der Ausdruck expr.

Rationale

Die primäre Motivation Der Zweck der Einführung von Zuweisungsausdrücken bestand darin, Zuweisungen innerhalb von Konstrukten wie Listenverständnissen und Lambda-Funktionen zu ermöglichen, die sie zuvor verboten hatten. Es erleichtert auch das interaktive Debuggen ohne Code-Refactoring.

Anwendungsfälle

a) Bedingte Werte abrufen:

  • Vorher:

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

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

b) Vereinfachung des Listenverständnisses :

  • Vorher:

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

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

Unterschiede zu regulären Zuweisungen

Zuweisungsausdrücke unterscheiden sich in mehrfacher Hinsicht von regulären Zuweisungen:

  • Es handelt sich eher um Ausdrücke als um Anweisungen.
  • Sie haben von rechts nach links Vorrang .
  • Sie unterscheiden sich in der Priorität rund um Kommas.
  • Sie unterstützen keine Mehrfachziele, Zuweisungen zu nicht einzelnen Namen, iterierbares Packen/Entpacken, Inline-Typanmerkungen oder erweiterte Zuweisungen.

Das obige ist der detaillierte Inhalt vonWas sind Zuweisungsausdrücke und wie funktionieren sie in Python 3.8?. 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!