Python 3.13 mit verbesserter Shell

  Ralf Hersel   Lesezeit: 3 Minuten  🗪 2 Kommentare Auf Mastodon ansehen

Mit der Version 3.13 der beliebten Programmiersprache ist die interaktive Shell erheblich verbessert worden und ist noch praxisgerechter.

python 3.13 mit verbesserter shell

Diese Artikelidee steht schon seit einer Weile auf meiner Aufgabenliste. Nachdem vor wenigen Tagen Python 3.13 in meinem Manjaro angekommen ist, kann ich ihn endlich schreiben. Neben anderen Verbesserungen, wie dem abschaltbaren Global Interpreter Lock, um Multithreading-Anwendungen effizienter laufen zu lassen, und einem experimentellen Just-in-Time-Compiler, begeistert mich die verbesserte interaktive Shell.

Für alle, die sich nicht mit Python auskennen, möchte ich kurz erklären, worum es sich bei der interaktiven Shell handelt. Wer ein Pythonprogramm/-skript schreiben möchte, erstellt üblicherweise den Quellcode in einem Texteditor oder einer IDE, speichert den Code und führt ihn mit dem Python-Interpreter aus, z. B. python meincode.py

Während man so vor sich hin programmiert, ist es manchmal nützlich, ein bestimmtes Code-Statement (oder mehrere) auszuprobieren. Der oben beschriebene Weg ist dafür viel zu umständlich. An dieser Stelle kommt die interaktive Shell ins Spiel. Diese kann man in einem Terminal durch Eingabe von python starten und darin arbeiten.

Interaktive Shell

Im Screenshot sieht man ein Beispiel, wie man schnell etwas ausprobieren kann. Ich vergesse gerne, wie Slicing funktioniert, also das Auslesen eines bestimmten Teils einer Liste. Nun habe ich eine Liste a mit 10 Elementen erstellt und probiere aus, wie man die letzten beiden Elemente ausliest: a[-2:]

Bisher war die Shell zeilenorientiert. Seit Python 3.13 unterstützt sie mehrzeiliges Editieren, wodurch sie sich viel mehr wie ein Editor anfühlt.

Mehrzeiliges Editieren

Sehr praktisch ist auch der neue History Browsing Modus, den man mit F2 einleitet. Darin wird die History angezeigt und die Prompt-Zeichen (>>>, ...) ausgeblendet. Somit ist es viel einfacher, Code aus der Shell zu kopieren; man erspart sich das nachträgliche Entfernen der Promp-Zeichen.

History Browser

Genauso praktisch ist der Paste-Modus, der mit F3 aufgerufen wird. Dieser ermöglicht das einfache Hineinkopieren von Code-Blöcken. Eine weitere Verbesserung ist der Help-Modus, den man durch die Eingabe von help in der Shell aufruft. Darin kann man Hilfe zu Befehlen und Modulen aufrufen. Zu guter Letzt kann die Shell jetzt mit exit beendet werden, statt wie bisher nur mit Strg+Z.

Titelbild: https://pixabay.com/photos/snake-python-serpent-scales-543243/

Quelle: https://blog.python.org/2024/10/python-3130-final-released.html

Tags

Python, SHELL, Interactive

Hendrik
Geschrieben von Hendrik am 8. Februar 2025 um 10:50

Kleine Korrektur:

Du beziehst dich in der News nicht auf das major release von python 3.12, sondern auf das Release von Python 3.13.2. Python 3.13 kam schon im Oktober raus.

Auch der Link zur Quelle ist flasch, sondern müsste hier hin zeigen: https://www.python.org/downloads/release/python-3132/

Viele Grüße :-)

Hendrik
Geschrieben von Hendrik am 8. Februar 2025 um 10:51

Korrektur zu meinem Kommentar: Ich meinte natürlich Python 3.13 anstatt 3.12.