Python 3.7: Was ist neu?

28.06.2018

Ein neues Major-Release von Python 3 wurde veröffentlicht. Das sind die wichtigsten neuen Features.

Mit Version 3.7 ist nach eineinhalb Jahren Entwicklungszeit ein neues Major-Release der Programmiersprache Python verfügbar. Gleichzeitig wurde auch ein Maintenance-Release von Python 3.6 veröffentlicht, das noch bis Ende 2018 Support erhält. Danach soll es für Python 3.6 noch bis zum Jahr 2021 Security-Fixes geben.

Ein herausragendes Feature in Python 3.7 sind die neuen Data-Klassen, die es erlauben, den bisher nötigen Initialisierungscode für Instanz-Variablen im Konstruktor wegzulassen. Er wird jetzt von der Python-Runtime automatisch im Hintergrund erzeugt. Damit das funktioniert, muss eine Klasse mit der Annotation "@dataclass" ausgezeichnet werden.

Die Auswertung von Annotations wurde in der Abarbeitung von Python-Scripts nach hinten verschoben. Dies löst zwei Probleme: einmal die ansonsten erhöhte Startup-Zeit von Python-Scripts, andererseits die bisher nicht vorhandene Möglichkeit, sich in Programmen auf im Quellcode noch nicht definierte Annotations zu beziehen.

Zwei Anpassungen kümmern sich um Locale-Einstellungenn respektive Zeichen-Encoding. Thread-Local Storage hat eine neue C-API bekommen, und einige neue Zeit-Funktionen besitzen jetzt Nanosekunden-Auflösung.

Die Aktualität der aus dem Quellcode in Bytecode compilierten .pyc-Files wird jetzt über Hashes ermittelt statt wie bisher über Datumsstempel in den Metadaten. Dies soll sicherstellen, dass Änderungen an den Quellcode-Files auch in jedem Fall zu neuem Bytecode führt.

Schließlich gibt es noch umfangreiche Änderungen im Bereich der asynchronen Programmierung: Hier sind "async" und "await" als neue Schlüsselwörter zu vermerken. Außerdem wurde das asyncio-Modul in vielfacher Hinsicht erweitert und optimiert.

Alle Änderungen sind in dem Dokument "What’s New In Python 3.7" verzeichnet.

Ähnliche Artikel

comments powered by Disqus
Mehr zum Thema

Python setzt Qualitäts-Maßstäbe für Open Source

Bei einer Überprüfung des Quellcodes fällt das Python-Projekt durch besonders niedrige Fehlerraten auf. 

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023