Python 3.14 ist mit T-String-Unterstützung erschienen
Python 3.14 ist offiziell verfügbar und bringt eine Mischung aus Änderungen an der Kernsprache, dem Inneren des Interpreters und der Standardbibliothek mit sich. Dazu gehören bedeutende Updates wie Vorlagen-String-Literale, verzögerte Auswertung von Annotationen und sogar die offizielle Unterstützung für Subinterpreter in der Standardbibliothek.
Python erhält Template-String-Literale, oder t-Strings. Diese verwenden die vertraute f-String-Syntax (einfach das 'f' durch ein 't' ersetzen, so: t'Mister {name}'), aber anstatt den statischen Text und Ihre interpolierten Werte sofort zu einem einzigen str-Objekt zu kombinieren, geben sie ein Template-Objekt zurück. Es trennt im Wesentlichen die statischen und variablen Teile des Strings zur Laufzeit. Dieses neue Objekt ist unglaublich nützlich, um Benutzereingaben zu bereinigen, zum Beispiel um sicherzustellen, dass ein String für HTML oder eine Datenbankabfrage sicher ist.
variety = 'Stilton'
template = t'Try some {variety} cheese!'
type(template)
Die Art und Weise, wie Typannotationen (wie das : str, das Sie bei einem Funktionsargument verwenden) gehandhabt werden, hat sich mit verzögerter Auswertung vollständig geändert. Annotationen werden nicht mehr sofort ausgewertet. Das bedeutet, dass es nicht mehr nötig ist, Annotationen in Anführungszeichen zu setzen, um einen NameError bei Vorwärtsreferenzen zu vermeiden.
Am interessantesten für mich ist, dass der Interpreter mit verbesserten Fehlermeldungen noch hilfreicher wird. Wenn man einen häufigen Tippfehler bei einem Schlüsselwort macht, wie zum Beispiel "whille" statt while, gibt der Interpreter jetzt einen Vorschlag für das richtige Schlüsselwort. Außerdem erhält man spezifische Fehlermeldungen für verwirrende Syntax, wie etwa einen elif-Block, der auf einen else-Block folgt. Diese kleinen Änderungen werden beim Debuggen eine große Hilfe sein.
Eines der größten Themen in Python 3.14 ist ein Vorstoß für mehr Geschwindigkeit und eine bessere Handhabung moderner Multi-Core-Systeme. Für diejenigen unter Ihnen, die rechenintensive, CPU-lastige Arbeiten durchführen, ist die Free-Threaded-Version von Python, die in 3.13 noch experimentell war, nun offiziell unterstützt. Das bedeutet, dass die Leistungseinbußen beim Single-Thread-Code im Free-Threaded-Modus nun auf etwa fünf bis zehn Prozent gesunken sind, was eine erhebliche Verbesserung darstellt. Das Ziel ist es, die Multi-Core-CPUs vollständig zu nutzen, sodass Sie Ihre Anwendungen skalieren können, ohne an die Einschränkungen des Global Interpreter Lock gebunden zu sein.
Eine Funktion, die zuvor nur über die C-API zugänglich war, ist jetzt in der Standardbibliothek über das neue Modul concurrent.interpreters verfügbar. Man kann es sich vorstellen wie die Isolation von Prozessen bei der Effizienz von Threads. Es ermöglicht neue, benutzerfreundliche nebenläufige Modelle wie das Akteurmodell, was ein großer Gewinn ist, um nebenläufige Software leichter zu implementieren und zu warten. Es gibt jedoch noch einige kleinere Einschränkungen, da diese Funktion nun in den Mainstream kommt, wie zum Beispiel langsamere Startzeiten für neue Interpreter, also erwartet nicht, dass sie bereits perfekt ist.
Das neue Kompressionspaket ist da und enthält ein spezielles Modul für das Zstandard-Format, compression.zstd. Zstandard ist bekannt dafür, ein weit verbreitetes, hoch effizientes und schnelles Kompressionsformat zu sein. Es verwendet eine API, die der der bestehenden lzma- und bz2-Module ähnelt, sodass es problemlos integriert werden kann.
Das Debuggen von asynchronem Code kann Kopfschmerzen bereiten, daher fügt Python 3.14 neue Kommandozeilenwerkzeuge zur asyncio-Inspektion hinzu. Sie können nun laufende Prozesse mit python -m asyncio ps PID prüfen, um eine flache Liste von Tasks zu erhalten, oder pstree verwenden, um einen visuellen asynchronen Aufrufbaum zu sehen. Dies ist sehr hilfreich, um herauszufinden, wo Ihr Programm blockiert ist und wie Ihre Coroutinen miteinander verknüpft sind.
Sie können Python von seiner Website oder von GitHub herunterladen.
Quelle: Python