Künstliche Intelligenz

Leichter Debuggen: Python 3.14 beseitigt unklare Fehlermeldungen


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.

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?“

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)



Source link

Beliebt

Die mobile Version verlassen