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
Das ist ein Test.
Das ist fett.
Das ist # Titel
Das ist kursiv
> Das ist ein Zitat.
Nun kommt ein Code-Block:
Das ist eine Bullet-List:
Das ist eine Aufzählung:
Ein Link: GNU/Linux.ch
Ein Bild:
Preview-Test:
Das ist ein Titel
Titeltest
Das ist ein Titel
Ende Titeltest
Zweiter Test von Ralf
Subtitle
Das ist ein normaler Text. Das auch. Nun folgt eine Aufzählung:
Es folgt eine Nummerierung:
Nun teste ich einen Link: https://fsfe.org/
Und ein Image:
Hier ist ein schwieriger Codeblock:
Ende des Tests.