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
