Tipp: Python Programm ausführen und danach direkt in Command Line debuggen
Für dein Einsteiger hört sich folgendes Thema ein wenig abgefahren an. Aber es hilft später immens weiter, wenn man schnell und einfach einmal ein Programm debuggen möchte.
Wir haben die 2 Möglichkeiten kennen gelernt, wie wir Python-Code ausführen lassen können:
- Python Command Line: Befehle in Eingabe-Konsole eintippen und direkt ausführen
- Programm mit Editor schreiben und ausführen lassen
Jetzt wäre eine Kombination aus beiden gut – gesagt getan und einfach möglich.
Das Python-Programm ausführen mit anschließender Python Command Line und Zugriff auf alle Variablen und Möglichkeiten des ausgeführten Programms. Und das Ganze geht mit einem kleinen Kniff.
Für Anfänger einfach für den Hinterkopf, damit man es später einsetzen kann bzw. nachschlagen.
Wir haben ein kleines Python-Programm, dass „Hallo Welt“ ausgibt (was auch sonst) und eine Variable speichert.
print("Hallo Welt")
nachricht = "alles in Ordnung"
Dieses Programm speichern wir mit dem Namen „hallowelt.py“ und starten es in der Kommandozeile über „python hallowelt.py“.
Als Ausgabe erhalten wir:
Hallo Welt
Wenn wir aber jetzt nachsehen wollen, was in der Variablen mit dem Namen nachricht
steckt, haben wir anscheinend Pech. Theoretisch können wir unser Programm erweitern mit dem typischen print()
, speichern, ausführen lassen und später wieder diese Zeile löschen. Diese war ja nur zum Debuggen da. ODER …
Oder wir kennen den Trick, beides zu bekommen. Die Ausführung des Programms und nach Beendigung des Programms die Kommandozeile von Python mit den typischen 3 Größerzeichen:
python -i programmname.py – Ausführung + Python Kommandozeile
Der Trick liegt im Aufruf. Wenn wir zwischen python
und dem Dateinamen noch ein -i
einbauen, dann haben wir diesen Effekt.
Axels-MacBook-Pro:Python-lernen.de ich$ python -i hallowelt.py
Hallo Welt
>>>
Das Programm wurde nun ausgeführt. Nachdem das Programm alles abgearbeitet hat (eine Ausgabe von „Hallo Welt“ ist ja nicht viel), landen wir direkt in der Python Kommando Zeile und können diese wie gewohnt nutzen.
Jetzt können wir den Inhalt der Variablen mit dem Namen nachricht
einfach direkt abfragen. Einfach nach dem Prompt ">>>" den gewünschten Befehl tippen bzw. in diesem Fall den gewünschten Variablennamen um den Inhalt der Variablen zu erhalten:
Axels-MacBook-Pro:Python-lernen.de ich$ python -i hallowelt.py
Hallo Welt
>>> nachricht
'alles in Ordnung'
>>>
Hätten wir eine Funktion im Programm integriert, könnten wir auch diese nutzen.
Wir bauen uns eine Funktion ein, um Zahlen zu quadrieren (sprich eine Zahl wird mit sich selber multipliziert).
print("Hallo Welt")
nachricht = "alles in Ordnung"
def quadrieren(zahl):
print(zahl*zahl)
Nachdem wir das Programm neu gestartet haben, können wir diese Funktion nun in unserer Kommandozeile nutzen:
Axels-MacBook-Pro:Python-lernen.de ich$ python -i hallowelt.py
Hallo Welt
>>> quadrieren(4)
16
>>> quadrieren(5)
25
Beenden von Python Kommandozeile
Zum Beenden unsere Python Kommandozeile einfach exit()
eingeben.