So arbeiten Sie mit der Python Interactive Console

Einführung

Die interaktive Python-Konsole (auch als Python-Interpreter oder Python-Shell bezeichnet) bietet Programmierern eine schnelle Möglichkeit, Befehle auszuführen und Code auszuprobieren oder zu testen, ohne eine Datei zu erstellen.

Die interaktive Konsole bietet Zugriff auf alle in Python integrierten Funktionen und installierten Module, den Befehlsverlauf und die automatische Vervollständigung. Sie bietet die Möglichkeit, Python zu erkunden und Code in Programmierdateien einzufügen, wenn Sie dazu bereit sind.

In diesem Tutorial erfahren Sie, wie Sie mit der interaktiven Python-Konsole arbeiten und sie als Programmierwerkzeug einsetzen.

Aufrufen der interaktiven Konsole

Auf die interaktive Python-Konsole kann von jedem lokalen Computer oder Server mit installiertem Python zugegriffen werden.

Der Befehl, mit dem Sie in der Regel die interaktive Python-Konsole für Ihre Standardversion von Python aufrufen möchten, lautet:

python

Wenn Sieprogramming environment eingerichtet haben, können Sie die Umgebung starten und auf die Version von Python und den Modulen zugreifen, die Sie in dieser Umgebung installiert haben, indem Sie zuerst in diese Umgebung eintreten:

cd environments
. my_env/bin/activate

Geben Sie dann den Befehlpython ein:

python

In diesem Fall ist die Standardversion von Python Python 3.5.2, die in der Ausgabe angezeigt wird, sobald wir den Befehl eingeben, zusammen mit dem entsprechenden Copyright-Hinweis und einigen Befehlen, die Sie für zusätzliche Informationen eingeben können:

OutputPython 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Die primäre Eingabeaufforderung für den nächsten Befehl sind drei Zeichen, die größer als (>>>) sind:

Sie können auf bestimmte Python-Versionen abzielen, indem Sie die Versionsnummer ohne Leerzeichen an Ihren Befehl anhängen:

python2.7
OutputPython 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Hier haben wir die Ausgabe erhalten, dass Python 2.7.12 verwendet wird. Wenn dies unsere Standardversion von Python 2 ist, könnten wir diese interaktive Konsole auch mit dem Befehlpython2 aufgerufen haben.

Alternativ können wir die Standardversion von Python 3 mit dem folgenden Befehl aufrufen:

python3
OutputPython 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Wir hätten auch die obige interaktive Konsole mit dem Befehlpython3.5 aufrufen können.

Wenn die interaktive Python-Konsole ausgeführt wird, können Sie mit der Shell-Umgebung für Python arbeiten.

Arbeiten mit der Python Interactive Console

Der interaktive Python-Interpreter akzeptiert die Python-Syntax, die Sie nach dem Präfix>>>einfügen.

Wir können zum Beispielvariables Werte zuweisen:

birth_year = 1868

Sobald wir der Variablenbirth_year den ganzzahligen Wert1868 zugewiesen haben, drücken wir die Eingabetaste und erhalten eine neue Zeile mit den drei Zeichen größer als als Präfix:

birth_year = 1868

Wir können weiterhin Variablen und dannperform math with operators zuweisen, um Berechnungen zurückzugeben:

>>> birth_year = 1868
>>> death_year = 1921
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>>

Wie bei einem Skript in einer Datei haben wir Variablen zugewiesen, eine Variable von der anderen subtrahiert und die Konsole aufgefordert, die Variable zu drucken, die den Unterschied darstellt.

Wie in jeder Form von Python können Sie auch die interaktive Konsole als Taschenrechner verwenden:

>>> 203 / 20
10.15
>>>

Hier haben wir die ganze Zahl203 durch20 geteilt und den Quotienten10.15 erhalten.

Mehrere Zeilen

Wenn wir Python-Code schreiben, der mehrere Zeilen abdeckt, verwendet der Interpreter die sekundäre Eingabeaufforderung für Fortsetzungszeilen, drei Punkte (...).

Um aus diesen Fortsetzungszeilen auszubrechen, müssen Sie zweimalENTER drücken.

Wie dies aussieht, sehen Sie im folgenden Code, der zwei Variablen zuweist und dann einconditional statementverwendet, um zu bestimmen, was auf der Konsole ausgedruckt werden soll:

>>> sammy = 'Sammy'
>>> shark = 'Shark'
>>> if len(sammy) > len(shark):
...     print('Sammy codes in Java.')
... else:
...     print('Sammy codes in Python.')
...
Sammy codes in Python.
>>>

In diesem Fall sind die Längen der zweistrings gleich, sodass die Anweisungelse gedruckt wird.
Beachten Sie, dass Sie die Python-Einrückungskonvention von vier Leerzeichen beibehalten müssen, andernfalls erhalten Sie eine Error:

>>> if len(sammy) > len(shark):
... print('Sammy codes in Java.')
  File "", line 2
    print('Sammy codes in Java.')
        ^
IndentationError: expected an indented block
>>>

Sie können in der Python-Konsole nicht nur mehrzeilig mit Code experimentieren, sondern auch Module importieren.

Module importieren

Mit dem Python-Interpreter können Sie schnell überprüfen, ob Module in einer bestimmten Programmierumgebung verfügbar sind. Sie können dies mit der Anweisungimporttun:

>>> import matplotlib
Traceback (most recent call last):
  File "", line 1, in 
ImportError: No module named 'matplotlib'

Im obigen Fall war das Modulmatplotlib in der aktuellen Programmierumgebung nicht verfügbar.

Um es zu installieren, müssen wir den interaktiven Interpreter verlassen und wie gewohnt mit pip installieren:

pip install matplotlib
OutputCollecting matplotlib
  Downloading matplotlib-2.0.2-cp35-cp35m-manylinux1_x86_64.whl (14.6MB)
...
Installing collected packages: pyparsing, cycler, python-dateutil, numpy, pytz, matplotlib
Successfully installed cycler-0.10.0 matplotlib-2.0.2 numpy-1.13.0 pyparsing-2.2.0 python-dateutil-2.6.0 pytz-2017.2

Sobald das matplotlib-Modul mit seinen Abhängigkeiten erfolgreich installiert wurde, können Sie zum interaktiven Interpreter zurückkehren:

python
import matplotlib

Zu diesem Zeitpunkt erhalten Sie keine Fehlermeldung und können das installierte Modul entweder innerhalb der Shell oder innerhalb einer Datei verwenden.

Python Interactive Console verlassen

Es gibt zwei Möglichkeiten, die interaktive Python-Konsole zu verlassen, entweder mit einer Tastenkombination oder einer Python-Funktion.

Die TastenkombinationCTRL +D in * nix-basierten Systemen oderCTRL +Z, dann die TasteCTRL in Windows-Systemen unterbricht Ihre Konsole und gibt Sie zurück zu Ihrer ursprünglichen Terminalumgebung:

...
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>>
sammy@ubuntu:~/environments$

Alternativ wird die Python-Funktionquit() aus der interaktiven Konsole beendet und Sie kehren zu der ursprünglichen Terminalumgebung zurück, in der Sie sich zuvor befanden:

>>> octopus = 'Ollie'
>>> quit()
sammy@PythonUbuntu:~/environments$

Wenn Sie die Funktionquit() verwenden, wird sie in Ihrer Verlaufsdatei angezeigt, die TastenkombinationCTRL +D wird jedoch nicht aufgezeichnet:

Datei: /home/sammy/.python_history

...
age_at_death = death_year - birth_year
print(age_at_death)
octopus = 'Ollie'
quit()

Das Beenden des Python-Interpreters kann auf beide Arten erfolgen, je nachdem, was für Ihren Workflow und Ihre Verlaufsanforderungen sinnvoll ist.

Auf den Verlauf zugreifen

Eines der nützlichen Dinge an der interaktiven Python-Konsole ist, dass alle Ihre Befehle in * nix-basierten Systemen in der.python_history-Datei protokolliert werden, die Sie beispielsweise in einem Texteditor wie nano anzeigen können:

nano ~/.python_history

Nach dem Öffnen mit einem Texteditor sieht Ihre Python-Verlaufsdatei mit Ihrem eigenen Python-Befehlsverlauf ungefähr so ​​aus:

Datei: /home/sammy/.python_history

import pygame
quit()
if 10 > 5:
    print("hello, world")
else:
    print("nope")
sammy = 'Sammy'
shark = 'Shark'
...

Sobald Sie mit Ihrer Datei fertig sind, können SieCTRL +X drücken, um nano zu verlassen.

Indem Sie den gesamten Python-Verlauf verfolgen, können Sie zu vorherigen Befehlen und Experimenten zurückkehren und diesen Code kopieren und einfügen oder ändern, um ihn in Python-Programmierdateien oder inJupyter Notebook zu verwenden.

Fazit

Die interaktive Python-Konsole bietet Platz zum Experimentieren mit Python-Code. Sie können es als Werkzeug zum Testen, Ausarbeiten von Logik und mehr verwenden.

Zum Debuggen von Python-Programmierdateien können Sie das Modul Pythoncodeverwenden, um einen interaktiven Interpreter in einer Datei zu öffnen, über den Sie in unserem HandbuchHow To Debug Python with an Interactive Console lesen können.