Python 3.9.0

Eine neue stabile Version der beliebten Programmiersprache Python wurde veröffentlicht.

Python ist eine allgemeine Programmiersprache auf hohem Niveau, die darauf abzielt, die Produktivität der Entwickler und die Lesbarkeit des Codes zu verbessern. Die Hauptmerkmale sind dynamische Typisierung, automatische Speicherverwaltung, vollständige Selbstbeobachtung, Mechanismus zur Ausnahmebehandlung, Unterstützung für Multithread-Computing und Datenstrukturen auf hoher Ebene.

Python ist eine stabile und weit verbreitete Sprache. Sie wird in vielen Projekten und in unterschiedlichen Funktionen eingesetzt: als primäre Programmiersprache oder zur Erstellung von Erweiterungen und Anwendungsintegrationen. Hauptanwendungsgebiete: Webentwicklung, maschinelles Lernen und Datenanalyse, Automatisierung und Systemadministration. Python belegt derzeit den dritten Platz in der Rangliste TIOBE.

Wichtigste Änderungen:

Neuer Hochleistungsparser basierend auf PEG-Grammatiken.

In der neuen Version wird der aktuelle Python-Parser auf Basis von LL(1)-Grammatiken (KS-Grammatik) durch einen neuen leistungsstarken und stabilen Parser auf Basis von PEG (PB-Grammatik) ersetzt. Parser für Sprachen, die durch KS-Grammatiken dargestellt werden, wie z. B. LR-Parser, erfordern einen speziellen lexikalischen Analyseschritt, der die Eingabe nach Leerzeichen, Zeichensetzung usw. aufteilt. Dies ist notwendig, da diese Parser die Vorbereitung verwenden, um einige KS-Grammatiken in linearer Zeit zu verarbeiten. RV-Grammatiken erfordern keinen separaten lexikalischen Analyseschritt und die Regeln dafür können zusammen mit anderen Grammatikregeln festgelegt werden.

Neue Operatoren und Funktionen

Der integrierten Diktatklasse wurden zwei neue Operatoren hinzugefügt: | zum Zusammenführen von Wörterbüchern und |= zum Aktualisieren.

Der str-Klasse wurden zwei neue Funktionen hinzugefügt: str.removeprefix(prefix) und str.removesuffix(suffix).

Typhinweise für integrierte Sammlungstypen

Diese Version bietet Unterstützung für die Generatorsyntax in allen derzeit verfügbaren Standardsammlungen.

def read_blog_tags(tags: list[str]) -> None:
für Tags in Tags:
print("Tag-Name", Tag)

Andere Änderungen

  • PEP 573 Zugriff auf den Modulstatus mithilfe von C-Erweiterungsmethoden

  • PEP 593 Flexible Funktionen und Variablenanmerkungen

  • PEP 602 Python wechselt zu jährlichen stabilen Versionen

  • PEP 614 Lockerung der Grammatikbeschränkungen für Dekorateure

  • PEP 615 IANA-Zeitzonendatenbankunterstützung in der Standardbibliothek

  • BPO 38379 Die Garbage Collection blockiert nicht die wiederhergestellten Objekte

  • BPO 38692 os.pidfd_open, zur Steuerung von Prozessen ohne Rennen und Signale;

  • BPO 39926 Unicode-Unterstützung auf Version 13.0.0 aktualisiert

  • BPO 1635741: Python leckt nicht mehr, wenn Python im selben Prozess mehrmals initialisiert wird

  • Python-Sammlungen (Bereich, Tupel, Set, Frozenset, Liste, Diktat) beschleunigt mit PEP 590-Vektoraufruf

  • Einige Python-Module (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, Operator, Resource, Time, _weakref) verwenden jetzt die mehrphasige Initialisierung gemäß der Definition in PEP 489

  • Eine Reihe von Standardbibliotheksmodulen (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) verwenden jetzt die durch PEP 384 definierte stabile ABI.

Source: linux.org.ru

Kommentar hinzufügen