Entwicklung & Code
Python 3.14: Leichtgängiges Programmieren steht im Fokus
Nach dem dritten und finalen Release Candidate will die Python Software Foundation am 7. Oktober die stabile Version 3.14 der Programmiersprache veröffentlichen. Sie erhält Support bis Oktober 2027 und wird bis Oktober 2030 mit Sicherheitspatches versorgt.
Version 3.14 der Open-Source-Sprache wartet mit Neuerungen wie Template Strings (T-Strings) und Lazy Annotations auf. Dazu kommen zahlreiche in der Verständlichkeit verbesserte Fehlermeldungen. Diese fokussieren sich auf die häufigsten Fehler der Python-Entwicklerinnen und -Entwickler. Das soll verhindern, dass das Debugging in Detektivarbeit ausartet.
Außerdem ist der in Version 3.13 eingeführte Free-Threaded-Modus mit der neuen Version nun offiziell freigegeben.
Error: Konkrete Verbesserungsvorschläge
Die verbesserten Fehlermeldungen von Python 3.14 berücksichtigen die Fehlermeldungstypen SyntaxError
, ValueError
sowie TypeError
, erklären jeweils genauer als zuvor, was falsch ist, und machen darüber hinaus gleich Verbesserungsvorschläge.
Ein Beispiel dafür sind die neuen elif
-nach-else
-Fehlermeldungen: Folgt ein elif
-Block nach einem else
-Block, meldet Python jetzt explizit, dass dies nicht erlaubt ist. Die Fehlermeldung weist zudem auf die korrekte Reihenfolge von if
, elif
und else
hin.
Das Codebeispiel:
>>> if x > 0:
... print("positiv")
... else:
... print("nicht positiv")
... elif x == 0: # ungültig!
... print("zero")
...
liefert in Version 3.13 die wenig aussagekräftige Fehlermeldung
SyntaxError: invalid syntax
in Version 3.14 hingegen:
SyntaxError: 'elif' block follows an 'else' block
Ein weiteres Beispiel: Fehlende oder falsch gesetzte Anführungszeichen in Strings führen bei Python 3.14 jetzt zu einer gezielten Frage. Anstatt sich auf „invalid syntax“ zu beschränken, folgt in der Fehlermeldung nun noch der Zusatz „Is this intended to be part of the string?“
String-Platzhalter und komfortablere REPL
Mit Python 3.14 halten auch neue Funktionen wie Template Strings (T-Strings), Lazy Annotations sowie REPL-Autovervollständigung und -Syntax-Highlighting Einzug.
- Template Strings: Die neue String-Präfix-Option
't'
erlaubt es, einen Platzhalter zu definieren, der später mit.substitute()
oder.format_map()
ersetzt werden kann. Nützlich sind die T-Strings zum Beispiel für Konfigurationsdateien und Templates. Außerdem erlauben sie eine sichere Verarbeitung von Nutzereingaben - Lazy Annotations: Damit wertet Python 3.14 Typ-Annotationen nicht mehr sofort beim Laden eines Moduls aus. Stattdessen werden sie als Strings gespeichert und erst bei Bedarf analysiert, was unter anderem Importproblemen entgegenwirken kann.
- REPL-Autovervollständigung und -Syntax-Highlighting: Diese beiden Funktionen sind bei Version 3.14 in der REPL-Konsole (Read-Evaluate-Print-Loop) standardmäßig aktiviert und sollen es ermöglichen, den Code leichter zu lesen und in der interaktiven Shell effizienter zu programmieren.
Einen Überblick über sämtliche Neuerungen von Python 3.14 liefert die Seite zum Release Candidate.
(who)