Python 3.9.0

Eine neue stabile Version der beliebten Programmiersprache Python ist erschienen.

Python ist eine hochgradige Programmiersprache fĂŒr allgemeine Anwendungen, die auf die Steigerung der ProduktivitĂ€t der Entwickler und die Lesbarkeit des Codes ausgerichtet ist. Zu den Hauptmerkmalen gehören dynamische Typisierung, automatisches Speichermanagement, vollstĂ€ndige Introspektion, Ausnahmebehandlungsmechanismus, UnterstĂŒtzung fĂŒr Multithreading und hochgradige Datentypen.

Python ist eine stabile und weit verbreitete Sprache. Sie wird in vielen Projekten und in verschiedenen Funktionen verwendet: als Hauptprogrammiersprache oder zur Erstellung von Erweiterungen und zur Integration von Anwendungen. Hauptanwendungsbereiche sind Webentwicklung, maschinelles Lernen und Datenanalyse, Automatisierung und Systemadministration. Momentan belegt Python den dritten Platz im Ranking TIOBE.

HauptÀnderungen:

Ein neuer leistungsstarker Parser basierend auf PEG-Grammatiken.

In der neuen Version wurde der aktuelle Python-Parser, der auf LL(1)-Grammatiken basiert (kontextfreie Grammatik), durch einen neuen leistungsstarken und stabilen Parser basierend auf PEG (PrĂ€ferenzgrammatik) ersetzt. Parser fĂŒr Sprachen, die durch kontextfreie Grammatiken dargestellt werden, wie LR-Parser, erfordern einen speziellen Schritt der lexikalischen Analyse, der die Eingabedaten entsprechend Leerzeichen, Interpunktion usw. aufteilt. Dies ist notwendig, da diese Parser eine Voranalyse verwenden, um einige kontextfreie Grammatiken in linearer Zeit zu verarbeiten. PEG-Grammatiken erfordern keinen separaten lexikalischen Schritt, und die Regeln dafĂŒr können zusammen mit anderen Grammatikregeln festgelegt werden.

Neue Operatoren und Funktionen

Zwei neue Operatoren wurden zur eingebauten Klasse dict hinzugefĂŒgt: | zum ZusammenfĂŒhren von Dictionaries und |= zum Aktualisieren.

Im Klassentyp str wurden zwei neue Funktionen hinzugefĂŒgt: str.removeprefix(prĂ€fix) und str.removesuffix(suffix).

Typ-Hinweis fĂŒr eingebettete Sammlungstypen

In dieser Version wird die UnterstĂŒtzung des Generator-Syntax in allen derzeit verfĂŒgbaren Standardkollektionen eingeschlossen.

def read_blog_tags(tags: list[str]) -> None:
for tag in tags:
print("Tag Name", tag)

Weitere Änderungen

  • PEP 573 Zugriff auf den Zustand des Moduls ĂŒber C-Erweiterungsmethoden

  • PEP 593 Flexible Funktionen und Variablenanmerkungen

  • PEP 602 Python wechselt zu jĂ€hrlichen stabilen Veröffentlichungen

  • PEP 614 AbschwĂ€chung der grammatikalischen EinschrĂ€nkungen fĂŒr Dekoratoren

  • PEP 615 UnterstĂŒtzung der IANA-Datenbank fĂŒr Zeitzonen in der Standardbibliothek

  • BPO 38379 Die Garbage Collection wird nicht bei wiederhergestellten Objekten blockiert

  • BPO 38692 os.pidfd_open zur Prozessverwaltung ohne Rennen und Signale;

  • BPO 39926 UnterstĂŒtzung von Unicode auf Version 13.0.0 aktualisiert

  • BPO 1635741 Bei mehrfacher Initialisierung von Python im selben Prozess tritt kein Speicherleck mehr auf

  • Python-Sammlungen (range, tuple, set, frozenset, list, dict) wurden mit Hilfe des vektorbasierten Aufrufs PEP 590 beschleunigt

  • Einige Python-Module (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) verwenden jetzt eine mehrphasige Initialisierung, wie in PEP 489 definiert

  • Eine Reihe von Standardbibliotheksmodulen (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) verwenden jetzt ein stabiles ABI, wie in PEP 384 definiert.

Quelle: linux.org.ru

60GB SSD 8Gb DDR4