Die 6 wichtigsten nützlichen Funktionen von Python 3.10

Python 3.10 rühmt sich, eine der stabilsten Versionen zu sein, die Benutzer herunterladen können, und wird noch in diesem Jahr veröffentlicht. Die neu veröffentlichte Version wird viele bemerkenswerte Änderungen mit sich bringen, wie zum Beispiel einfach zu bedienende Funktionen für Anfänger und erfahrene Programmierer.

Zu den eklatanten Verbesserungen in der neuen Python-Version gehören die Einführung von strukturellem Mustervergleich, bessere Fehlermeldungen, neue Vereinigungsoperatoren, genaue Zeilennummern für das Debugging und vieles mehr.

Folgendes müssen Sie über Python 3.10 wissen:

Struktureller Musterabgleich in Python 3.10

Structural Pattern Matching macht das Schreiben von Code zum Kinderspiel und ist weiterhin eines der herausragenden Highlights der neuesten Python-Version. Python zielt darauf ab, die bereits vorhandenen Match-Case-Anweisungen in den vorherigen Versionen der Programmiersprache zu verbessern. Es wurde eine Aktualisierung der vorhandenen Match-Case-Anweisungen in Python vorgenommen.

Werfen wir einen kurzen Blick auf die Implementierungen von Structural Pattern Matching:

Die match-case-Anweisung ist seit einiger Zeit Teil der Python-Sprache. Diese Anweisung wird im Wesentlichen verwendet, um die mühsame Arbeit des mehrfachen Schreibens der if-else- Anweisung zu vermeiden.

Mit dieser Funktion im neuen Build können Sie mit Objekten mit ähnlichen Eigenschaften abgleichen.

 match media_object:
case Image(type="jpg"):
# Return as-is
return media_object
case Image(type="png") | Image(type="gif"):
return render_as(media_object, "jpg")
case Video():
raise ValueError("Can't extract frames from video yet")
case other_type:
raise Exception(f"Media type {media_object} can't be handled yet")

Die neue Python-Bibliothek erkennt Objekte wie JPG, GIF und Videos. Dieser Code kann nahtlos ausgeführt werden, ohne einen Fehler auszulösen.

2. Verbesserte Fehlermeldungen

Jeder Programmierer versteht wahrscheinlich die Bedeutung von Fehlern beim Schreiben von Code und wie ärgerlich einige Fehlertypen sein können. Die Vorgängerversionen von Python warfen Fehlermeldungen, sobald es Probleme in der Syntax gab. Diese können unter anderem an der falschen Syntax, fehlenden Schlüsselwörtern, falschen oder falsch geschriebenen Schlüsselwörtern liegen.

Diese Fehlermeldungen waren alles andere als perfekt, da es für Anfänger (manchmal sogar fortgeschrittene Benutzer) schwierig wurde, die wahre Ursache des Fehlers in ihren Codes zu identifizieren. Als Programmierer ist Google weiterhin Ihr Verbündeter bei der Entschlüsselung der Gründe für verschiedene Fehlermeldungen.

Zum Beispiel wissen viele Leute möglicherweise nicht, warum Python den folgenden Fehler ausgibt:

 SyntaxError: unexpected EOF while parsing error message.

Der Mangel an Klarheit in solchen Anweisungen veranlasste die neueste Python-Version, ihre bestehenden Fehlermeldungen zu verbessern.

Die 6 wichtigsten nützlichen Funktionen von Python 3.10 - Unexpected EOF

Die älteren Meldungen wurden durch leicht verständliche Fehlermeldungen ersetzt wie:

{ wurde beim Parsen nie unerwarteter EOF geschlossen

Einige weitere Änderungen umfassen:

Attributfehler wie:

 from collections import namedtoplo

Das Modul 'Sammlungen' hat kein Attribut 'namedtoplo'. Meinten Sie: nametuple?

Die 6 wichtigsten nützlichen Funktionen von Python 3.10 - Attribute error

NameError-Nachrichten werden so geändert, dass sie wie folgt aussehen:

 new_var = 5
print(new_vr)>

NameError: Name 'new_vr' ist nicht definiert. Meinten Sie: new_var?

Die 6 wichtigsten nützlichen Funktionen von Python 3.10 - NameError Python

3. Kontextmanager in Klammern

Die neuen Context Manager in Klammern können Ihren Code eleganter aussehen lassen. Auch wenn es kein wichtiges Feature ist, kann es Ihren Code leicht weniger klobig machen. Diese Funktion ist von Vorteil, wenn Sie in einem Team arbeiten und Ihr Code strukturiert sein muss.

Stellen Sie sich vor, Sie schreiben eine Aussage wie:

 with open('file1.txt', 'r') as fin, open('file2.txt', 'w') as fout:
fout.write(fin.read())

Der obige Code funktioniert, aber die erste Zeile ist viel zu lang und sieht ungeschickt aus. Sie können die Zeile mit einem Backslash ( ) umbrechen und den Code strukturiert aussehen lassen:

 with open('file1.txt', 'r') as fin,  open('file2.txt', 'w') as fout: fout.write(fin.read())

Mit der Einführung des neuen Context-Managers in Klammern können Sie die Zeile auch mit Klammern umbrechen:

 with (open('file1.txt', 'r') as fin,
open('file2.txt', 'w') as fout):
fout.write(fin.read())

Verwandte: Python-Projektideen für Anfänger geeignet

4. Unionsoperator des neuen Typs

Ein kleines, aber praktisches Feature in Python 3.10 ist der neue Typ des Union-Operators. Jede Python-Version enthält einen vordefinierten Satz von Typhinweisfunktionen.

Der Union-Operator enthält bedingte Logik; zum Beispiel können int oder float als Union[X, Y] geschrieben werden . Der neue Union-Operator kann auch wie int|float ausgedrückt werden.

Die Einführung eines neuen Union-Operanden in Python 3.10 ist zeitsparend und lässt den Code klar definiert aussehen.

Beispielsweise:

 def f(x: int | float) -> float:
return x * 3.142
f(1) # pass
f(1.5) # pass
f('str') # linter will show annotation error

Anmerkungsfehler in Python

5. Präzise Zeilennummern für das Debugging

Sie haben vielleicht schon oft bemerkt, dass die Fehlerverfolgung Sie nicht in die richtige Zeile umleitet, in der ein Fehler aufgetreten ist. Dies erschwert das Debuggen für Programmierer, die gerade mit dem Schreiben von Code begonnen haben.

Die fehlerhafte Fehlerverfolgung wird besonders beim Schreiben von sys.settrace und verwandten Tools in Python deutlich. Die neuere Version verbessert dies deutlich, und Sie können im Fehlerfall genaue Zeilennummern sehen.

Um eine genauere Zeilennummer zu erhalten, verschiebt Python 3.10 seine Zuverlässigkeit vom aktuellen co_Inotab- Attribut und verwendet die neue Methode co_lines()- Attribut. Dieses Attribut funktioniert so, dass f_lineo immer die genaue Zeilennummer enthält.

 1. for (
2. x) in [1]:
3. pass
4. return

Verwandte: Debuggen Sie Ihren Python-Code

6. Aufgeschobene Bewertung von Anmerkungen

In Python wird die Auswertung der Typannotation zum Zeitpunkt der Funktionsdefinition durchgeführt. Das bedeutet, dass Typanmerkungen zeilenweise von oben nach unten ausgewertet werden.

Auch wenn dies die beste Option zu sein scheint, gibt es bei diesem Ansatz immer noch zwei Probleme:

  • Typhinweise beziehen sich auf Typen, die noch nicht definiert sind und nicht funktionieren; diese Hinweise müssen als Strings ausgedrückt werden.
  • Die Modulimporte werden verlangsamt, da Typhinweise in Echtzeit ausgeführt werden.

Um Ausführungsprobleme zu vermeiden, werden Anmerkungen in _annotations_ gespeichert und die Auswertung wird gemeinsam durchgeführt. Dies ermöglicht eine Vorwärtsreferenzierung, da Modulimporte zuerst ausgeführt werden, wodurch die Initialisierungszeit verkürzt wird.

Arbeiten mit den neuesten Funktionen in Python 3.10

Die neueste Version von Python wird am 4. Oktober 2021 veröffentlicht; Es verspricht, die Fehler zu beheben, die in den vorhandenen Versionen vorhanden sind. Die folgenden Versionen werden die aktuelle Version 3.10 verbessern.

Structural Pattern Mapping ist das Highlight dieses neuen Updates und vereinfacht das Schreiben von Codes für ähnliche Objekte. Andere Funktionen wie Kontextmanager in Klammern und neue Unionsoperatoren zielen darauf ab, den Code einfacher und effizienter zu machen.

Dennoch gibt es in den bestehenden Python-Versionen einige ausgezeichnete Techniken zur Ausnahmebehandlung. Sie können die Funktionalitäten von Python gut nutzen.