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.

comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite