Python 3.7 bringt Data Classes und den eingebauten Breakpoint

Das Python-Projekt hat am 27. Juni 2018 Python 3.7.0 veröffentlicht. Die neue Hauptversion ergänzt die Sprache und Standardbibliothek um mehrere Funktionen, die für Entwicklungs-, Test- und Automationsskripte relevant sind.

Zu den wichtigsten Neuerungen gehören Data Classes und der eingebaute breakpoint(). Hinzu kommen Context Variables, ein offizieller Erhalt der Einfügereihenfolge von Dictionaries sowie Verbesserungen an asyncio und der Zeichenkodierung.

Data Classes vereinfachen Datenmodelle

Data Classes lassen sich über einen Dekorator aus dem Modul dataclasses definieren. Python erzeugt dabei unter anderem Konstruktoren und Vergleichsmethoden aus den deklarierten Feldern. Für Werkzeuge, die strukturierte Zustände, Konfigurationen oder Testergebnisse verarbeiten, reduziert das wiederkehrenden Code.

Mit breakpoint() steht außerdem ein einheitlicher Einstieg in den Debugger bereit. Die Funktion verwendet standardmäßig pdb, kann aber über sys.breakpointhook oder die Umgebungsvariable PYTHONBREAKPOINT an einen anderen Debugger übergeben werden. Damit bleibt der Debug-Aufruf im Quelltext unabhängig von der konkret verwendeten Entwicklungsumgebung.

UTF-8-Modus und asynchrone Anwendungen

Python 3.7 führt einen UTF-8-Modus für Laufzeiten mit problematischer C-Locale ein und ergänzt mit contextvars eine neue Bibliotheksfunktion für kontextbezogene Zustände in asynchronen Programmen. Das Projekt nennt außerdem deterministische pyc-Dateien, Verbesserungen an asyncio und neue C-APIs für Thread-Local Storage.

Die Version folgt auf Python 3.6 und war als neue Feature-Version für technische Teams gedacht. Das offizielle Projekt kündigte regelmäßige Wartungsreleases an, die ab Juli 2018 folgen sollten.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein