K103: ein erstes Programm

In diesem Blog lernst Du ein erstes kleines Python Programm zu schreiben.

Inhaltsverzeichnis

Dieser Blog wird vom IAIP gratis zur Verfügung gestellt. Der Blog ist ein  Bestandteil des Kurses K103 «Programmieren mit Turtle Graphics» und gehört zur Lektion 1, Themenblock 4 (L1T4).

Der Kurs führt dich durch die einzelnen Blogs, enthält Zusatzmaterialien, Videos, viele Aufgaben mit Lösungen und Quizze zur Lernkontrolle. Der Kurs hat eine Kursgebühr von CHF 50.- Mit dem Einschreiben zum Kurs hilfst du mit, dass solche Blogs auch zukünftig noch gratis zur Verfügung gestellt werden können.

Allgemein

Einordnung

Computer verstehen nur Maschinensprache (00100110..). Diese ist für uns Menschen nur schwer zu programmieren. Es gibt aber Übersetzungsprogramme, welche Anweisungen aus für uns Menschen leichter verständlichen Sprachen in Maschinensprache übersetzen. Im vorliegenden Fall ist es der Python Interpreter. Er übersetzt für uns in der Programmiersprache «Python» geschriebene Anweisungen in Maschinensprache.

Bevor wir also dem Computer erste Anweisungen geben können (d.h. ein erstes Programm erstellen können), müssen wir Python auf unserem Computer installieren. Es gibt zahlreiche Möglichkeiten, von welchen wir drei Varianten vorgestellt haben: das Python Originalpaket, ein Umgebung für Profis (Spyder) und eine einfache online Nutzung der repl.it oder trinket.io Webinterfaces, welche sich für schulische Zwecke besonders eignen. Details zur Installation findest du in unseren Blogbeitrag Installation von Python. Sind ein Python Interpreter und eine Python Entwicklungsumgebung erst einmal installiert (oder hat man sich bei repl.it bzw. trinket.io registriert), können wir loslegen.

In diesem Themenblock soll ein erstes kleines Programm geschrieben und ausgeführt werden. Wir werden jeweils:

  1. die Entwicklungsumgebung starten
  2. die Anweisungen für den Computer aufschreiben
  3. die Anweisungen dem Python Interpreter zur Übersetzung geben
  4. der Interpreter wird dann automatisch die übersetzten Anweisungen an den Computer zur Ausführung weitergeben.

Ziel

Ziel dieses Themenblocks ist:

Unser erstes Programm

Bevor wir starten noch ein paar Worte zum Programm. Unser erstes Programm soll einfach nur ein paar Sätze auf den Bildschirm schreiben. Wir wollen dem Computer befehlen können, dass er beispielsweise die zwei Sätze

Guten Tag!
Heute ist ein schöner Tag.

ausgibt. Das sieht dann am Ende etwa so aus:

2 Sätze

Eine solche Ausgabe funktioniert in Python recht einfach. Die entsprechenden Anweisungen lauten print(«Guten Tag!») und print(«Heute ist ein schöner Tag.»). Das heisst, unser erstes Programm nutzt den Python Befehl print(). Der Befehl veranlasst den Computer etwas auf dem Bildschirm auszugeben. Das was er ausgeben soll, muss man zwischen den runden Klammern ( ) angeben. Und ist es wie in unserem Beispiel ein Text, so steht dieser jeweils zwischen Anführungs- & Schlusszeichen.

Wollen wir also, dass der Computer die zwei Sätze schreibt, so müssen wir ein Programm bestehend aus den 2 aufeinanderfolgenden Anweisungen schreiben und an Python zur Übersetzung und Abarbeitung übergeben. Wir werden im Verlauf dieses Kurses übrigens Programmcodes immer speziell markieren und mit Zeilennummern versehen. Du kannst die einzelnen Anweisungen einfach kopieren und bei dir im Python Editor wieder einfügen. So brauchst du nicht alles abzutippen.

print("Guten Tag!")
print("Heute ist ein schöner Tag.")

Das nachfolgende Bild soll darstellen, wie eine einzelne Anweisung an Python übergeben, dort übersetzt und an den Prozessor weitergeleitet, und schliesslich die Ausgabe auf dem Bildschirm erfolgt.

Wie dies genau geht, werden wir nun anschauen. Wir werden als erstes das Erstellen unseres Programms in der Python Entwicklungsumgebung IDLE besprechen und anschliessend kurz auf die Entwicklungsumgebung Spyder und auf die Benutzeroberfläche von repl.it eingehen. Auch wenn du «nur» Spyder oder «nur» die Oberfläche von repl.it nutzen möchtest, kannst du anhand der folgenden Darstellung schnell einen ersten Überblick gewinnen. Du brauchst dazu das Originalpaket nicht zwingend zu installieren.

Nutzung der Python IDE IDLE

Python IDE (IDLE) starten

Um dem Computer Anweisungen in Python geben zu können, muss man zuerst den Python Interpreter aufrufen. Dieser soll ja dann unsere Anweisungen in für den Computer verständliche Maschinensprache übersetzen. Der Python Interpreter, wie auch die Entwicklungsumgebung IDLE, sind selber also auch Programme. Wir müssen diese (wie jedes andere Programm) zuerst einmal starten. Man muss das Programm «laden». Dies wollen wir nun als erstes machen.

In unserem Fall möchten wir nicht den Interpreter selber, sondern gleich die mit Python mitgelieferte, einfacher zu bedienende Entwicklungsumgebung IDLE nutzen. Wir setzen im Folgenden voraus, dass der Python Interpreter sowie die Entwicklungsumgebung IDLE bereits auf dem Computer installiert sind (siehe vorangehender Themenblock).

Das folgende Video zeigt die wichtigsten Schritte:

Als erstes starten wir das entsprechende Programm mit dem Namen IDLE aus dem Startmenü. Je nach Betriebssystem funktioniert dies leicht unterschiedlich. Unter Windows 10 kann man, wie im Video gezeigt, beispielsweise einfach den Namen idle im Suchfeld eingeben. Das Programm lässt sich durch Doppelklick mit der linken Maustaste starten.

Alternativ kann man natürlich auch das Programm in der Liste der Programme suchen. Wichtig hier ist, dass wir IDLE und NICHT Python laden. Die zwei Programme stehen in der Programmliste gleich nebeneinander. IDLE hat ein Icon mit dem bekannten Python Zeichen vor weissem Hintergrund.

Im Bild heisst unser Programm IDLE (Python 3.7 64 Bit), im vorangehenden Video war es IDLE (Python 3.8 32-bit). Je nach verwendeter Version hat man also eine leicht andere Beschriftung.

Das sich öffnende Fenster ist bereits unser Shell, also die (graphische) Benutzerschnittstelle zum dahinter verborgenen Python Interpreter. Das Shell ist bereit, um Anweisungen zu erhalten. Probiere es selber aus! Öffne nun IDLE auf deinem eigenen PC.

Anweisungen eingeben (Übersicht)

Jetzt wo das Programm IDLE geladen ist, können wir beginnen, dem Computer Anweisungen zu erteilen. Bei Interpreter Programmiersprachen wie Python gibt es typischerweise 2 Möglichkeiten, wie man Anweisungen erteilen bzw. übergeben kann:

  1. Die Direkteingabe von Anweisungen, eine nach der anderen, in einer Kommandozeile
  2. Das Zusammenfassen mehrerer Anweisungen in einer .py Quelltextdatei und die anschliessende Übergabe aller Anweisungen (der ganzen Datei) an den Interpreter.

Variante 1: Direkteingabe von Anweisungen

Bei der ersten Möglichkeit gibt man eine Anweisung ein, lässt diese vom Interpreter in Maschinensprache übersetzen und gleich ausführen. Anschliessend gibt man die nächste Anweisung ein, etc.

Benötigt wird neben dem im Hintergrund arbeitenden eigentlichen Python Interpreter (Übersetzungsprogramm, Sprach-Engine), eine sogenannte Shell.

Doch beginnen wir von vorne: Basis bildet immer die Python Sprach-Engine. Das ist der orange Kasten in obiger Grafik. Es ist das eigentliche Python, jenes Programm, welches unsere Anweisungen in Maschinensprache übersetzt. Die Sprach-Engine ist aber verborgen. Du wirst sie im Nachfolgenden nie direkt sehen. Sie läuft immer verdeckt im Hintergrund. Die Sprach Engine ist also nicht das, was oben im Video gezeigt wurde.

Was du gesehen hast, ist die sogenannte Shell. Die Shell ist ein GUI (Graphical User Interface). Das ist eine grafische Oberfläche (ein Fenster auf dem Monitor), die du nutzen kannst, um mit der Sprach-Engine zu kommunizieren. Hier kannst du deine Anweisungen eingeben, und hier kannst du auch Ausgaben anschauen. Das ist ähnlich, wie Du ein Mobiltelefon benötigst, um deinem Freund (hier die Sprach-Engine) eine Nachricht beispielsweise über WhatsApp zu senden. Das Shell bringt also gewissermassen deine Eingaben in die richtige Form und übermittelt sie für dich direkt an die Sprach-Engine. Es stellt sicher, dass wenn du eine Anweisung auf der Tastatur eingibst, diese auch gleichzeitig auf dem Bildschirm erscheint. Sie erleichtert also deine Arbeit ungemein.

Die Shell ist hier im Wesentlichen nichts anderes als ein Fenster, in welchem der Programmierer seine Anweisungen direkt eingeben kann und auch gleich das Resultat angezeigt bekommt. Das klingt komplizierter als es ist. Im Fall von Python IDLE ist es einfach das Fenster, welches beim Öffnen des Programms angezeigt wird. Hier können wir Befehle eingeben, und Python kann uns etwas anzeigen.

Das nachfolgende Bild zeigt die Direkteingabe unserer zwei Anweisungen in der Shell:

Was ist passiert? Beim Starten der Shell (bzw. des Kernels) schreibt Python als erstes einige allgemeine Informationen auf den Bildschirm. Dazu gehören die aktuelle Python Version (hier 3.8.2) und ein Hinweis auf die wichtigsten Hilfs-/ Übersichts- Befehle, falls jemand diese nutzen möchte.

Dass, bzw. wo man Python Code eingeben kann, sieht man am sog. «Prompt» Zeichen. In der IDLE Shell besteht es aus drei aufeinanderfolgenden «grösser als» Zeichen >>> . Andere Shells nutzen mitunter andere Prompt Zeichen. In der Spyder Shell (Spyder nennt diese direkt Konsole) ist dieses ein In [ ]:  , wobei innerhalb der Klammern eine fortlaufende Zahl steht.

Im Beispiel haben wir die Anweisung print («Hallo Welt!») hinter dem Prompt eingeben und die Eingabe mit Enter/ Return (grosse Taste mit Pfeil nach links) abgeschlossen. Der Python Interpreter übersetzte die Anweisung und der Computer hat Hallo Welt in die darauffolgende Zeile auf den Bildschirm geschrieben.

Unsere Shell dient hier also der Ein- und Ausgabe. Wir können diese nicht nur nutzen, um unserer Anweisungen einzugeben, sondern Python nutzt diese gleichzeitig auch, um Informationen bzw. Ausgaben für uns anzuzeigen. Das ist natürlich besonders praktisch.

Anschliessend haben wir die nächste Anweisung print(«Heute ist schönes Wetter») eingegeben. So kann man nacheinander Anweisung für Anweisung geben, wobei der Computer nach jeder Anweisung diese immer gleich unmittelbar ausführt.

Eingabe und Ausgabe sind in unserem Beispiel ziemlich ähnlich. Das ist natürlich eher die Ausnahme. Wir können zum besseren Verständnis Python auch etwas rechnen lassen. Hierzu müssen wir einfach die Anführungs- und Schlusszeichen weglassen.

Das direkte Eingeben von Kommandos in dieser Benutzer/ Übersetzter Schnittstelle ist einfach, hat aber auch seine Grenzen. Programme haben meist mehrere tausend Anweisungen, die nacheinander, schnell und möglichst ohne Unterbrechung ausgeführt werden sollen. Stelle dir beispielsweise ein Spiel vor, bei welchem du nach jeder Bewegung warten musst, bis der Programmierer wieder die nächste Anweisung eingegeben hat. Eine Direkteingabe macht hier natürlich wenig Sinn.

Variante 2: Übergabe einer Quelltextdatei

Die Shell hat also den Nachteil, dass man (quasi) immer nur 1 Anweisung geben kann. Hier kommt der Editor ins Spiel. In einem (Text-) Editor kann man zuerst einmal alle Anweisungen in Ruhe herunterschreiben, und dann diese zusammen, alle auf einmal, über die Shell an die Sprach-Engine übergeben lassen.

Das nachfolgende Video zeigt, wie das funktioniert.

Wir haben also eine weitere Komponente der Entwicklungsumgebung IDLE in Anspruch genommen: den Editor.

Möchte man mehrere Anweisungen ausführen lassen, so fasst man diese in einer Quelltextdatei zusammen. Im Video war dies die Datei «erstes Programm». Anschliessend übergibt man dem Interpreter die ganze Datei, so dass dieser die einzelnen Anweisungen selbständig abarbeiten kann. Wie funktioniert das?

Zum Erstellen und Bearbeiten der Quelltextdatei können wir den IDLE Editor verwenden. Zum öffnen haben wir im Video einfach in der Menüleiste des Shells den Punkt File / New File gewählt. Es funktioniert auch die Tastenkombination CTRL+N. Alternativ, falls die Quelltextdatei (unser erstes Programm) bereits einmal abgespeichert wurde, kann man dieses und den Editor über den Menüpunkt Open… (CTRL+O) öffnen.

In unserem Fall hat sich ein leeres Fenster geöffnet, in welchem wir die Anweisungen eingeben können. Um nochmals unser Beispiel mit dem Kochroboter zu nehmen: Mit dem Editor können wir auf einem weissen Blatt unser Rezept aufschreiben und dieses dann auch unter dem Rezeptnamen abspeichern. Wir müssen anschliessend dem Roboter nur noch mitteilen, wie unser Rezept heisst. Er kann es dann selber aus der Rezept-Schublade nehmen und abarbeiten.

Aus der Folge von Anweisungen ensteht so also unser erstes Python Programm. Anschliessend können wir dieses speichern. Unser Programm lässt sich jederzeit über den Menüpunkt File/ Save abspeichern und zu einem späteren Zeitpunkt über File / Open wieder laden. Abgespeicherte Python Programme haben übrigens die Dateiendung .py. Der Editor hat unser Programm für uns automatisch richtig abgespeichert.

Möchte man das Programm nun ausführen, so kann man unter dem Menüpunkt Run/ Run Module oder direkt über die Taste F5 das Programm (den Quelltext) übersetzen und ausführen lassen. Da wir unser Programm im Video noch nie abgespeichert hatten, wurden wir vom Editor aufgefordert, dass Programm für der Ausführung noch zu speichern.

Im Shell erfolgt anschliessend die Ausgabe der 2 print() Anweisungen. Da die Shell ja bereits eine Benutzerschnittstelle zur Verfügung stellt, nutzt Python wiederum automatisch das Shell für die Ausgabe der print() Anweisungen.

Das Arbeiten in der IDLE Umgebung ist einfach und intuitiv zugänglich. Eine Beschreibung der einzelnen Möglichkeiten findet man unter: https://docs.python.org/3/library/idle.html

Exkurs: Python Sprach-Engine laden

Der Vollständigkeit halber sei hier nochmals erwähnt, dass man die Anweisungen auch direkt um Kommandozeileninterpreter Python eingeben kann. Hierzu startet man das Programm Python 3.x anstelle von Idle. Für unsere Zwecke resultieren daraus aber keinerlei Vorteile. 

Nutzung der Spyder IDE (Anaconda Package)

Spyder (Python IDE) starten

Spyder ist wie IDLE ein Programm, welches eine integrierte Entwicklungsumgebung für das Programmieren mit Python bereitstellt. Um die Spyder Entwicklungsumgebung zu nutzen, muss man diese zuerst einmal starten. Hierzu gibt es mehrere Möglichkeiten:

  • Du kannst Spyder direkt starten. Dies ist der praktische Weg, den man gehen wird.
  • Du kannst Sypder über den Anaconda Navigator aufrufen. Dies ist quasi der «offizielle Weg»
  • Du kannst Spyder über eine cmd Anweisung starten. Beispielsweise, falls das Programm nicht über die graphischen Oberfläche des Betriebssystems aufrufbar ist.

Wichtig an dieser Stelle ist lediglich die erste Möglichkeit.

Direkter Start von Spyder

Die «normale» und einfachste Art um Spyder zu starten ist der direkte Aufruf des Programms. Nach der Installation findet man das Programm bzw. sein Icon (Bild) im Programmverzeichnis. Bei Windows 10 also beispielsweise in der Liste, welche aufgeht, sobald man auf das Windows Symbol in der linken unteren Ecke klickt.

Nachfolgend ist das Symbol abgebildet. Die zum Anaconda Paket zugehörigen Programme sind in der Regel in einem Ordner «Anaconda3» eingeordnet.

Aufruf von Spyder über den Anaconda Navigator

Python respektive die Entwicklungsumgebung Spyder ist ein Teil des Anaconda Package. Dieses beinhaltet viele Programme und Ressourcen, welche man beispielsweise im Bereich der Data Science nutzt. Wir benötigen daraus aber lediglich Spyder.

Im professionellen Bereich nutzt man gerne solche «Packages». Denn wenn du beispielsweise einmal auf so einem Gebiet wie Data Science tätig sein wirst, dann brauchst du nicht viele der dazu notwendigen Mittel selber einzeln zu installieren, sonder nutzt das Anaconda Package. Es enthält und verwaltet die einzelnen Komponenten für dich und erspart dir damit viel Arbeit.

Zur besseren Übersicht gibt es in diesem Paket den sogenannten Anaconda Navigator, von welchem aus man die einzelnen Komponenten einfach verwalten und auch starten kann. Zum Starten des Anaconda Navigators klickt man auf das entsprechende Programmsymbol im Startmenü.

Programm

Nach kurzer Zeit öffnet sich der unten abgebildete Anaconda Navigator Startbildschirm. Rechts im Bildschirm sieht man die einzelnen Applikationen. Im Bild an dritter Stelle ist das Sypder Programmicon mit Angabe der installierten Version (3.2.3) sowie einem Button «Launch» (engl.: starten). Klickt man auf diesen Knopf, so wird Spyder automatisch gestartet.

Navigator

Neben Spyder kann man so auch den Kommandozeileninterpreter IPython und ein webbasiertes Frontend für Jupyter Notebooks direkt aufrufen. Andere Applikationen wie glueviz oder orange3 lassen sich einfach hinzufügen. Für diesen Kurs benötigst Du allerdings lediglich die Spyder Umgebung.

Als ergänzender Hinweis: im Bild rechts sieht man das Feld «Environments». Über diese Funktion kann man die einzelnen Pakete verwalten. Pakete sind besondere Komponenten und Erweiterungen von Python, über welche Python für den professionellen Einsatz erst richtig leistungsfähig wird. Dank solcher Pakete kann man gewisse wissenschaftliche Grafiken einfacher erstellen, mit Zahlenarrays arbeiten, auf spezielle mathematische Funktionen zugreifen und vieles mehr. Die Paketverwaltung ist neben den professionellen Funktionen von Spyder einer der Hauptgründe, welche für die Verwendung des Anaconda Distribution Packages sprechen. Anaconda stimmt solche Pakete aufeinander ab und erspart dem Programmierer den Aufwand herauszufinden, welches Paket wie mit welchem kompatibel ist.

Start über die cmd Anweisung

Als drittes kann man die Entwicklungsumgebung natürlich auch über eine Kommandozeile im Shell des Betriebssystems (Windows Shell: cmd.exe) aufrufen. Bei einer normalen Installation des Originalpakets, des Anaconda Distribution Packages oder einer anderen bekannten IDE wirst du allerdings nicht auf dieser Ebene arbeiten.

Windows, bzw. jener Teil davon, welchen du siehst, hat eine graphische Benutzeroberfläche (GUI). Sie enthält die Fenster, die Programme mit ihren schönen Icons, den Papierkorb und vieles mehr. Sinn und Zweck dieser Oberfläche ist es, dass sich der Nutzer gut zurechtfindet und seine Aktionen möglichst einfach ausführen kann. Diese graphische Oberfläche ist eine tolle Sache, macht den Computer aber etwas langsamer und funktioniert auch nicht bei allem. Im Normalfall bekommt der Anwender von diesen «Nachteilen» aber nichts mit.

Über die direkte Eingabeaufforderung (cmd) erspart man einen Teil dieser Oberfläche und so lassen sich viele Aufgaben schneller abarbeiten als mit einer voll ausgebauten grafischen Benutzeroberfläche. Des Weiteren funktionieren bestimmte Befehle und Programme in Windows wie erwähnt nur per Kommandozeile.

Du öffnest die Eingabeaufforderung, indem du die Tastenkombination Windows + R drückst, cmd eintippst und mit Enter bestätigst. Zum starten von Spyder tippst du einfach den Namen ein und drückst nochmals Enter.

Hinweis: Hier könnte man auch gleich das IPython Shell starten. Sollte der Aufruf nicht funktionieren (gilt auch für den Aufruf des Python Interpreters), so muss man den entsprechenden Pfad hinzufügen. Dies kann man direkt im Shell (Path Anweisung) oder aber dann über die Bearbeitung der System-Umgebungsvariablen bewerkstelligen.

Die Bedienoberfläche von Spyder

Nach erfolgreichem Start gelangt man zur Bedienoberfläche von Spyder.

Der Aufbau ist ähnlich wie man ihn von anderen Programmen kennt. Ganz oben findet man einen Menübalken, von welchem aus sich die verschiedenen Funktionen der Entwicklungsumgebung aufrufen lassen. Gleich darunter einige Symbole, so dass der Programmierer auf die am meisten genutzten Funktionalitäten schneller zugreifen kann. Alternativ kann er auch Shortcuts (spezielle Tastenkombinationen) verwenden.

Unter diesem Menübereich befinden sich 3 Fenstern, welche man bei Bedarf auch anpassen oder ändern kann.

  • Links im Bild ein leistungsfähiger Quelltexteditor. Hier kann der Programmierer seine Programme erstellen und bearbeiten. Bei mehreren geöffneten .py Dateien kann man über den Ritter einfach zwischen den Programmen wechseln.
  • Rechts unten im Bild die Shell, eine Benutzer/Interpreter Schnittstelle, welche man für direkte Eingaben nutzen kann und welche auch als Ausgabefenster dient. Spyder nutzt nicht die klassische Python Shell, sondern eine IPython Shell.
  • Oben rechts ein weiteres Fenster, welches man für zusätzliche Sachen nutzen kann. Beispielsweise für die Anzeige von Variablen, oder für einen Datei Explorer.

Anweisungen eingeben

Variante 1: Direkteingabe von Anweisungen

Bei der ersten Möglichkeit gibt man eine Anweisung ein, lässt diese vom Interpreter in Maschinensprache übersetzen und gleich ausführen. Anschliessend gibt man die nächste Anweisung ein, etc.

Benötigt wird, neben dem eigentlichen Python Interpreter (Übersetzungsprogramm), wiederum eine sogenannte Shell. Sie ist unsere Schnittstelle (eine graphische Benutzerschnittstelle GUI), in welcher wir unsere Anweisungen direkt eingeben können und auch gleich das Resultat angezeigt bekommen. Der Python (bzw. hier IPython) Interpreter selber arbeitet wiederum im Hintergrund und ist als solcher für uns nicht sichtbar.

Das nachfolgende Bild zeigt die Direkteingabe unser zwei Anweisungen und einer dritten print() Anweisung in der Shell:

shell

Was ist passiert? Beim Starten der Spyder-Shell (bzw. des Kernels) schreibt Python als erstes einige allgemeine Informationen auf den Bildschirm. Dazu gehören die aktuelle Python Version (hier 3.6.0) und ein Hinweis auf die wichtigsten Hilfs-/ Übersichts- Befehle, falls jemand diese nutzen möchte.

Dass, bzw. wo man Python Code eingeben kann, sieht man auch hier am sog. «Prompt» Zeichen. In der Spyder Shell (Spyder nennt diese direkt Konsole) ist dieses ein In [ ]:  , wobei innerhalb der Klammern eine fortlaufende Zahl steht.

Im Beispiel haben wir die Anweisung print («Hallo Welt!») hinter dem Prompt In [1]:  eingeben und die Eingabe mit Enter/ Return (grosse Taste mit Pfeil nach links) abgeschlossen. Der Python Interpreter übersetzte die Anweisung und der Computer hat Hallo Welt in die darauffolgende Zeile auf den Bildschirm geschrieben.

Anschliessend haben wir die nächste Anweisung print(«Heute ist ein schöner Tag») eingegeben. So kann man nacheinander Anweisung für Anweisung geben, wobei der Computer nach jeder Anweisung diese immer gleich unmittelbar ausführt.

Variante 2: Übergabe einer Quelltextdatei

In der Regel fasst man wie gezeigt mehrere Anweisungen in einer Quelltextdatei zusammen und übergibt die ganze Datei dem Interpreter.

Auch Spyder hat einen Editor zum Erstellen und Bearbeiten von Quelltextdateien. In unserem Fall ist das linke Fenster der Quelltexteditor. Hier können wir die Anweisungen erfassen. Sind diese fertig erfasst, so werden sie als Python Quelltextdatei mit der Endung .py abgespeichert und anschliessend wird die ganze Datei übergeben.

Beim Öffnen schreibt Spyder automatisch einige allgemeine Zeilen an den Anfang (im Bild die Zeilen 1-6). In die nachfolgenden Zeilen kann man nun die Anweisungen schreiben. Im Beispiel haben wir 3 print() Anweisungen im Editor erfasst. Im Unterschied zur Direkteingabe der Anweisungen in die Shell passiert jedoch noch nichts. Wir haben erst die Anweisungen aufgeschrieben, aber noch nicht an Python übergeben.

Zum Ausführen des Quellcodes tippt man in Spyder einfach auf das grüne Dreieck in der Symbolleiste.

Alternativ kann man die Funktion unter dem Menüpunkt Run/ Run oder über die Taste F5 aufrufen.

Dem Interpreter wird eine Datei übergeben. Sollte man den Quelltext noch nicht gespeichert haben, so wird man hierzu automatisch aufgefordert. Hat man die Datei bereits einmal abgespeichert, so wird vor jeder Codeausführung die jeweils aktuelle Code-Version automatisch abgespeichert. Wir überschreiben den Vorschlag untitled1.py mit einem Namen unserer Wahl. Beispielsweise kleinesProgramm.py. Python Quelltext Dateien haben das Format .py.

Hinweis für Fortgeschrittene:

Die Abarbeitung einer .py Datei kann man auch direkt aus der Shell heraus veranlassen. Faktisch macht Spyder nichts anderes. Genau genommen führt es nach Speicherung des Quellcodes in der IPython Konsole das Kommando runfile() aus. Im vorliegenden Beispiel:

Da die Oberfläche mit dem Shell ja bereits eine Benutzerschnittstelle zur Verfügung stellt, nutzt Python wiederum automatisch das Shell für die Ausgabe der print() Anweisungen.

Exkurs: REPL

Das Arbeiten mit der programmierorientierte Cloud-IDE repl.it ist einfach. Wiederum muss man zuerst die Oberfläche bereitstellen. Anstelle eines Aufrufs der passenden Software (Spyder IDE oder IDLE) muss man sinngemäss die entsprechende Web-Adresse im Browser der eigenen Wahl aufrufen. Im Beispiel rufen wir repl.it mit einem Edge – Browser auf.

Rechts oben erscheint auch schon das Feld, wo man sich einloggen kann. Theoretisch kann man mit dem Knopf/ Link +new repl bereits ein erstes Programm erstellen, ohne sich vorab anzumelden. In der Regel will man aber unter seinem eigenen Profil arbeiten. Man wird sich also zuerst mit dem Link Log In anmelden wollen.

Die Anmeldung ist rasch erledigt. Abgefragt werden bloss Benutzernamen und Passwort, so wie man es von anderen Webportalen kennt. Anmelden kann man sich auch über den Gmail, Facebook oder GitHub Account.

Anschliessend ist man bereits auf der Startseite. Diese kann beispielsweise so wie nachfolgend dargestellt aussehen. Die Startseite ist nicht zu verwechseln mit der Oberfläche von Spyder oder von IDLE, denn sie ist in diesem Moment noch nicht Python spezifisch. In der Tat bietet repl.it die Möglichkeit, ganz unterschiedliche Programmiersprachen zu nutzen. Je nachdem, was ein Programmierer möchte. Und es ist naheliegend, dass unterschiedliche Programmiersprachen unterschiedliche Entwicklungsumgebungen benötigen.

Hierzu eine kleine Anmerkung: REPL ist in der Fachsprache die Abkürzung für Read- Eval- Print- Loop. Gemeint ist damit ein einfaches, interaktives Computerprogramm, welches Benutzereingaben entgegennimmt (Read), auswertet (Eval) und ein entsprechendes Ergebnis ausgibt (Print). Quasi identisch zu unser Shell. Auf repl.it ist ein repl aber faktisch weit mehr wie nur ein Shell. Es ist eine ganze Entwicklungsumgebung, bestehend aus dem Quelltexteditor, der Konsole, allenfalls einem zusätzlichen Ausgabefenster, und weiteren Elementen. Dabei ist die Entwicklungsumgebung wie erwähnt auf die jeweilige Programmiersprache zugeschnitten.

Um ein Python Programm erstellen zu können, wählt man oben im Menü den Link +new Repl. Effektiv gemeint ist damit, eine neue Entwicklungsumgebung starten. Als erstes muss man nun wählen, in welcher Sprache man programmieren möchte. Ebenfalls muss man dem Programm bereits jetzt einen Namen geben. Man kann bei Bedarf noch eine Beschreibung hinzufügen und wählen, ob der Code öffentlich zugänglich ist oder nur privat eingesehen werden kann.

Anschliessend ist man bereits in der IDE.

In der Mitte sieht man den Quelltexteditor, rechts ein Python Shell, hier mit schwarzem Hintergrund. Oben mittig ist der grüne run Knopf zum Ausführen der Datei.

Hierzu einige Anmerkung

Vom Grundsatz her hat man jeweils ein Python Programm pro repl. Die repl hat einen gewissen Namen (in unserem Beispiel: erstes Testprogramm), und das Python Programm hat dann einfach den Namen main.py innerhalb dieser repl. Dies im Unterschied zu den «normalen» Python Umgebungen.

Analog zur IDLE hat es beispielsweise unter dem Punkt File die Möglichkeit eine .py Datei neu anzulegen, zu öffnen, zu speichern, etc. Und unter Run bzw. mit der Taste F5 kann man wiederum den Quellcode an den Interpreter zur Ausführung übergeben. Für die wichtigsten Funktionalitäten hat es zudem spezielle Icons direkt unter dem Menü.