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
GNU/Linux.ch ist ein Community-Projekt. Bei uns kannst du nicht nur mitlesen, sondern auch selbst aktiv werden. Wir freuen uns, wenn du mit uns über die Artikel in unseren Chat-Gruppen oder im Fediverse diskutierst. Auch du selbst kannst Autor werden. Reiche uns deinen Artikelvorschlag über das Formular auf unserer Webseite ein.