Schritt 3: Verwenden des interaktiven REPL-Fensters

Vorheriger Schritt: Schreiben und Ausführen von Code

In Visual Studio bietet das interaktive Fenster für Python eine komfortable „Lesen-Auswerten-Ausgeben“-Schleife (REPL), die den üblichen „Bearbeiten-Erstellen-Debuggen“-Zyklus erheblich verkürzt. Das interaktive Fenster bietet alle Funktionen, die auch die REPL für die Python-Befehlszeile bietet. Es erleichtert auch das Austauschen von Code durch Quelldateien im Visual Studio-Editor, was über die Befehlszeile aufwändig wäre.

Hinweis

Bei Problemen mit REPL stellen Sie sicher, dass die Pakete ipython und ipykernel installiert sind, und Hilfe bei der Installation von Paketen finden Sie auf der Registerkarte Python-Umgebungspakete.

  1. Öffnen Sie das interaktive Fenster, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Python-Umgebung des Projekts klicken (z. B. Python 3.6 (32-bit), wie zuvor in einer Grafik gezeigt) und Interaktives Fenster öffnen auswählen. Alternativ können Sie im Hauptmenü von Visual Studio Ansicht>Weitere Fenster>Interaktive Python-Fenster auswählen.

  2. Das interaktive Fenster wird unterhalb des Editors mit der standardmäßigen >>> Python-REPL-Eingabeaufforderung geöffnet. In der Dropdownliste Umgebung können Sie einen bestimmten Interpreter für die Bearbeitung auswählen. Wenn Sie das interaktive Fenster vergrößern möchten, können Sie das Trennzeichen zwischen den beiden Fenstern ziehen, wie in der folgenden Abbildung zu sehen:

    Python interactive window and dragging to resize

    Tipp

    Sie können die Größe aller Fenster in Visual Studio durch Verschieben der aneinander grenzenden Trennlinien verändern. Sie können auch Fenster aus dem Visual Studio-Rahmen herausziehen und sie dann innerhalb des Rahmens nach Ihren Wünschen anordnen. Ausführliche Informationen finden Sie unter Anpassen der Fensterlayouts.

  3. Geben Sie einige Anweisungen wie print("Hello, Visual Studio") und Ausdrücke wie 123/456 ein, um sofortige Ergebnisse anzuzeigen:

    Python interactive window immediate results

  4. Beim Schreiben einer mehrzeiligen Anweisung, wie einer Funktionsdefinition, wird im interaktiven Fenster die Python-Eingabeaufforderung ... zum Fortsetzen der Zeilen angezeigt. Im Gegensatz zur Befehlszeilen-REPL ist hier der automatische Einzug möglich. Sie können eine neue ... -Zeile hinzufügen, indem Sie Shift+Enter drücken:

    Python interactive window with statement continuation

  5. Das interaktive Fenster enthält einen vollständigen Verlauf aller Elemente, die Sie eingegeben haben, und verbessert die Befehlszeilen-REPL mit mehrzeiligen Verlaufselementen. Beispielsweise können Sie einfach die vollständige Definition der f-Funktion als einzelne Einheit zurückrufen und den Namen mühelos in make_double ändern, anstatt die Funktion Zeile für Zeile neu erstellen zu müssen.

  6. Visual Studio kann mehrere Codezeilen aus einem Editor-Fenster an das interaktive Fenster senden. Mithilfe dieser Funktion können Sie Code in einer Quelldatei pflegen und ausgewählte Fragmente davon mühelos an das interaktive Fenster senden. Sie können dann mit solchen Codefragmenten in der schnellen REPL-Umgebung arbeiten, anstatt das gesamte Programm ausführen zu müssen. Um dieses Feature anzuzeigen, ersetzen Sie zunächst in der Datei PythonApplication1.py die Schleife for durch folgenden Code:

    # Create a string with spaces proportional to a cosine of x in degrees
    def make_dot_string(x):
        return ' ' * int(20 * cos(radians(x)) + 20) + 'o'
    
  7. Wählen Sie die Funktionsanweisungen import, from und make_dot_string in der PY-Datei aus. Klicken Sie mit der rechten Maustaste auf den ausgewählten Text, und wählen Sie An interaktives Fenster senden aus (oder drücken Sie STRG+EINGABETASTE). Das Codefragment wird direkt in das interaktive Fenster eingefügt und ausgeführt. Da der Code eine Funktion definiert hat, können Sie diese Funktion schnell testen, indem Sie sie mehrmals aufrufen:

    Sending code to the interactive window and testing it

    Tipp

    Wenn Sie im Editor STRG+EINGABE drücken, ohne eine Auswahl getroffen zu haben, wird die aktuelle Codezeile im interaktiven Fenster ausgeführt und die Einfügemarke automatisch in der nächsten Zeile positioniert. Mithilfe dieses Features können Sie durch wiederholtes Drücken von STRG+EINGABE auf einfache Weise schrittweise durch den Code gehen, was über die Python-Befehlszeile allein nicht möglich ist. Darüber hinaus können Sie damit schrittweise durch den Code gehen, ohne den Debugger auszuführen und ohne Ihr Programm vom Programmanfang neu starten zu müssen.

  8. Sie können auch mehrzeiligen Code aus beliebigen Quellen kopieren und in das interaktive Fenster einfügen, z. B. den Codeausschnitt unten, was sich über die Python-Befehlszeilen-REPL schwierig gestaltet. Nach dem Einfügen führt das interaktive Fenster diesen Code genau so aus, wie wenn Sie ihn eingegeben hätten:

    for i in range(360):
        s = make_dot_string(i)
        print(s)
    

    Pasting multiple lines of code using Sending Interactive

  9. Wie Sie sehen, funktioniert dieser Code ordnungsgemäß, wird aber in nicht sehr ansprechender Form ausgegeben. Beim Verwenden eines anderen Schrittwerts in der for-Schleife würde die Kosinuswelle detaillierter angezeigt werden. Die gesamte for-Schleife ist im REPL-Verlauf als einzelne Einheit verfügbar. Sie können später die gewünschten Änderungen vornehmen und dann die Funktion erneut testen. Drücken Sie zunächst die NACH-OBEN-TASTE, um die for-Schleife zurückzurufen. Sie können im Code navigieren, indem Sie die NACH-LINKS-TASTE oder die NACH-RECHTS-TASTE drücken. Andernfalls wird mithilfe von NACH-OBEN und der NACH-UNTEN-TASTE weiterhin der Verlauf durchgegangen. Navigieren Sie zur gewünschten Stelle, und ändern Sie die range-Spezifikation in range(0, 360, 12) um. Drücken Sie danach an einer beliebigen Stelle im Code STRG+EINGABETASTE, um die gesamte Anweisung erneut auszuführen:

    Editing a previous statement in the interactive window

  10. Probieren Sie durch Wiederholen des Vorgangs verschiedene Schritteinstellungen aus, bis Sie den Wert gefunden haben, der für Sie am besten ist. Sie können auch veranlassen, dass die Welle wiederholt wird, indem Sie deren Bereich erweitern, z.B. range(0, 1800, 12).

  11. Wenn Sie zufrieden sind mit dem Code, den Sie im interaktiven Fenster geschrieben haben, wählen Sie ihn aus. Klicken Sie dann mit der rechten Maustaste auf den Code, und wählen Sie Code kopieren aus (STRG+UMSCHALTTASTE+C). Fügen Sie abschließend den ausgewählten Code in den Editor ein. Durch dieses besondere Feature werden in Visual Studio sowohl sämtliche Ausgaben als auch die Eingabeaufforderungen >>> und ... automatisch ausgelassen. Die folgende Abbildung zeigt z.B. das Verwenden des Code kopieren-Befehls bei einer Auswahl, die Eingabeaufforderungen und Ausgaben enthält:

    Interactive window copy code command on a selection with prompts and output

    Wenn Sie etwas in den Editor einfügen, wird nur der Code eingefügt:

    for i in range(0, 1800, 12):
        s = make_dot_string(i)
        print(s)
    

    Wenn Sie den exakten Inhalt des interaktiven Fensters kopieren möchten, einschließlich der Eingabeaufforderungen und Ausgaben, verwenden Sie den Standardbefehl Kopieren.

  12. Gerade haben Sie die schnelle REPL-Umgebung des interaktiven Fensters verwendet, um die Details für einen kleinen Abschnitt im Code zu erarbeiten. Danach haben Sie diesen Code bequem zur Quelldatei des Projekts hinzugefügt. Wenn Sie nun den Code mit STRG+F5 (oder Debuggen>Ohne Debugging starten) erneut ausführen, werden Ihnen die gewünschten exakten Ergebnisse angezeigt.

Nächster Schritt

Ausführlichere Informationen