„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Was sind Zuweisungsausdrücke und warum wurden sie in Python 3.8 eingeführt?

Was sind Zuweisungsausdrücke und warum wurden sie in Python 3.8 eingeführt?

Veröffentlicht am 12.11.2024
Durchsuche:532

What are Assignment Expressions and Why Were They Introduced to Python 3.8?

Zuweisungsausdrücke in Python 3.8 verstehen

Seit Python 3.8 hat der „Walross“-Operator (:=) Zuweisungsausdrücke in die Sprache eingeführt. Mit dieser neuen Funktion können Programmierer Werte innerhalb von Verständnissen und Lambda-Funktionen zuweisen, die zuvor auf reguläre Zuweisungen beschränkt waren.

Begründung für Zuweisungsausdrücke

Die Hauptmotivation hinter Zuweisungsausdrücken besteht darin, prägnantere und präzisere Zuweisungen zu ermöglichen Effizienter Code in Szenarien, in denen herkömmliche Zuweisungen nicht unterstützt werden. Zuweisungsausdrücke erleichtern beispielsweise:

  • Bedingte Werteerfassung: Bedingte Werte können prägnanter abgerufen werden, wie das interaktive Debugging-Beispiel in der Python-Dokumentation zeigt.
  • Vereinfachte Listenverständnisse: Komplexe Listenverständnisse können durch Zuweisen von Zwischenwerten zu Variablen innerhalb der vereinfacht werden Verständnis, wodurch der Code lesbarer und verwaltbarer wird.

Syntax, Semantik und Grammatik

Zuweisungsausdrücke folgen einer bestimmten Syntax: name := expr, wobei name ein Bezeichner und expr ist ist ein beliebiger gültiger Python-Ausdruck. Der Wert des Zuweisungsausdrucks ist derselbe wie der Ausdruck expr, aber ein zusätzlicher Nebeneffekt weist den Wert dem Zielnamen zu.

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

  • Sie sind Ausdrücke, keine Aussagen und können daher in Kontexten erscheinen, in denen Ausdrücke erwartet werden.
  • Sie haben eine andere Auswertungsreihenfolge (von rechts nach links) und eine andere Priorität als reguläre Zuweisungen.
  • Sie unterstützen nicht mehrere Ziele, Zuweisungen an nicht einzelne Namen, iterierbares Packen/Entpacken, Inline-Typanmerkungen oder erweiterte Zuweisungsvorgänge.

Gründe für die Einführung von Zuweisungsausdrücken

Obwohl PEP 379 zurückgezogen wurde, der etwas Ähnliches vorschlug Konzept führte PEP 572 aus mehreren Gründen Zuweisungsausdrücke in Python ein:

  • Um die Lesbarkeit und Wartbarkeit des Codes zu verbessern, insbesondere innerhalb von Verständnissen und Lambdas.
  • Um interaktives Debuggen ohne die Notwendigkeit von Code zu ermöglichen Refactoring.
  • Um eine effizientere Möglichkeit zur Zuweisung bedingter Werte und zur Vereinfachung der Liste bereitzustellen Verständnis.
  • Um die Syntax von Python an andere moderne Programmiersprachen anzupassen, die Zuweisungsausdrücke unterstützen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3