Wenn du den ersten Beitrag dieser Reihe gelesen und das Beispielprogramm ausprobiert hast, wurde bereits deutlich, wie einfach es sein kann, mit Python Programmieren zu lernen. Im nächsten Schritt wollen wir die Funktionen des Programms weiter ausbauen. Dazu verwenden wir Variablen (=Platzhalter), die unterschiedliche Datentypen aufnehmen und bearbeiten können.
Die Vorbereitung: eine IDE installieren
Um den Workflow weiter zu verbessern, erstellen wir die weiteren Programme jedoch nicht mehr, wie im ersten Beitrag, mit dem Microsoft Editor (beziehungsweise mit den in anderen Betriebssystemen vorinstallierten Texteditoren), sondern mit einer integrierten Entwicklungsumgebung bzw. IDE (Integrated Development Environment). Bevor wir die verschiedenen Variablen und Datentypen vorstellen, ist daher noch ein kleiner Zwischenschritt notwendig. Doch sollte diese Aufgabe ebenfalls nur wenige Minuten in Anspruch nehmen.
Für unsere weiteren Python-Programme verwenden wir die IDE PyCharm. Diese erlaubt einfache und effiziente Arbeitsabläufe, sie ist auf Python spezialisiert und außerdem ist sie gratis erhältlich. Die IDE steht unter folgendem Link zum Download bereit:
Wie du im Screenshot siehst, gibt es hierbei zwei Versionen. Die Professional-Ausführung ist kostenpflichtig, während du die Community-Version gratis verwenden kannst. Außerdem erkennst du, dass PyCharm nicht nur für Windows erhältlich ist, sondern auch für macOS und für Linux.
Sobald du die Software heruntergeladen hast, öffnet sich der Installationsassistent. Dabei kannst du alle Standardeinstellungen übernehmen. Nach einer kurzen Wartezeit ist PyCharm installiert und steht zur Nutzung bereit.
Variablen: unverzichtbar für (fast) jedes Computerprogramm
Im ersten Beispiel hatten wir lediglich einen kurzen Text ausgegeben. Dieser Text wurde nirgendwo zwischengespeichert, sondern einfach direkt in den print-Befehl mit eingebaut und ausgegeben. Relativ simpel also.
Ein Computerprogramm zeichnet sich jedoch dadurch aus, dass es verschiedene Werte aufnehmen und auch Berechnungen damit durchführen kann. Das Programm speichert diese Werte in Variablen. Du kannst sie dir wie einen kleinen Container vorstellen, der unterschiedliche Inhalte aufnehmen kann.
Verwendung von Variablen in Python
Auch die Verwendung von Variablen ist in Python ausgesprochen einfach. Du musst dafür einen Namen vorgeben und diesem dann mit dem Gleichheitszeichen einen Wert zuweisen.
Für den Variablennamen kannst du beliebige Buchstaben, Ziffern oder den Unterstrich verwenden. Du musst jedoch darauf achten, dass er niemals mit einer Zahl beginnen darf. Wenn wir beispielsweise eine Variable mit der Bezeichnung meineVariable
erstellen und ihr den Wert 8 zuweisen möchten, müssen wir folgenden Befehl in das Programm schreiben.
meineVariable = 8
Nun können wir das Programm bereits ausführen und schauen, was passiert. Dazu erstellen wir zunächst ein neues Python-Projekt (File → New Project). Als Namen für das Projekt wählen wir “programmbeispiele”. Nach diesem Schritt können wir eine Python-Datei erstellen. Dazu klickst du zunächst im Projektbereich, der ganz links im Fenster erscheint, das eben erstellte Projekt an. Danach kannst du eine neue Datei hinzufügen (File → New → File). Als Namen für die Datei wählst du datentypen1.py
aus. Nun musst du nur noch den oben genannten Befehl in das dafür vorgesehene Fenster schreiben.
Den Code auszuführen, ist bei der Verwendung einer IDE viel einfacher als bei der Nutzung des Kommandozeileninterpreters. Du musst dafür in der Menüleiste auf den Begriff Run klicken und dann nochmals die Option Run (mit einem kleinen grünen Dreieck versehen) auswählen.
Daraufhin öffnet sich ein kleines Fenster, in dem du die eben erstellte Datei datentypen1.py auswählen musst. Dann wird das Programm bereits ausgeführt. Dazu öffnet sich ganz unten ein neuer Bereich, der die entsprechenden Ausgaben anzeigt.
Hier erscheint nun die Datei mit dem kompletten Pfadnamen. Danach steht der Hinweis: “Process finished with exit code 0”. Das bedeutet, dass das Programm erfolgreich ausgeführt wurde. Allerdings fand dabei keine Ausgabe statt. Das soll nun geändert werden.
Um auf eine Variable zuzugreifen, musst du ihren Namen nennen. Diesen kannst du beispielsweise beim bereits bekannten print-Befehl in die Klammer schreiben – allerdings ohne die Anführungszeichen. Das Programm sieht dann so aus:
meineVariable = 8 print (meineVariable)
Wenn du es nun nochmals ausführst, erscheint der Inhalt der Variable – also die Zahl 8 – im Ausgabefeld.
Werte ändern und Berechnungen durchführen
Variablen zeichnen sich dadurch aus, dass sie unterschiedliche Werte annehmen können. Du kannst ihnen per Gleichheitszeichen immer wieder einen neuen Inhalt zuweisen. Außerdem ist es möglich, Berechnungen damit durchzuführen. Das folgende Beispielprogramm deklariert zunächst eine Variable (deklarieren = dem Programm mitteilen, dass die Variable nun vorhanden ist und verwendet werden kann) und weist ihr dann auf verschiedene Weise neue Werte zu. Außerdem fügt es eine weitere Variable ein und verwendet diese ebenfalls für die Berechnungen. Nach jeder Änderung gibt es den neuen Wert aus, den var1 und var2 zum aktuellen Zeitpunkt besitzt:
var1 = 8 print(var1) var1 = 10 print(var1) var1 = 3 + 4 print(var1) var2 = var1 print(var2) var2 = var2 + var1 print(var2)
Die Ausgabe:
Du siehst, dass Variablen ihre Werte ändern können (deshalb sind sie ja “variabel”) und viele verschiedene Operationen zulassen. Du kannst darin das Ergebnis einer Berechnung oder den Wert einer anderen Variablen speichern. Es ist sogar möglich, dass sie auf sich selbst Bezug nimmt. Dabei wird ihr bisheriger Wert für die Berechnung verwendet. Das Ergebnis wird ihr dann als neuer Wert zugewiesen. Das zeigt die letzte Zuweisung im obigen Beispielprogramm.
Datentypen: verschiedene Informationen in einer Variablen speichern
Bisher haben wir bereits gelernt, Variablen zu verwenden. Das eigentliche Thema dieses Beitrags – die Datentypen im Allgemeinen – haben wir jedoch noch nicht erklärt.
Eine Variable kann unterschiedliche Arten von Informationen aufnehmen. In den bisherigen Beispielen haben wir meistens Zahlen (sog. Integer) verwendet – um genau zu sein ganze Zahlen. Die Zahl ist aber nur einer von vielen Datentypen.
Eine Variable kann auch
- Fließkommazahlen (sog. Float z. B. 7.98 → englische Schreibweise mit Punkt beachten)
- Texte (sog. String, z. B. “Hallo Welt!” → Hier sind Anführungszeichen notwendig)
- Wahrheitswerte (sog. Boolean → entweder
True
oderFalse
)
speichern.
Jeder dieser Datentypen verwendet eine unterschiedliche Codierung für die Speicherung der Werte. Das bedeutet, dass die gleiche Abfolge von Bits im Arbeitsspeicher eine unterschiedliche Bedeutung haben kann – je nachdem, ob es sich dabei um eine ganze Zahl, eine Fließkommazahl, einen Wahrheitswert oder um einen Buchstaben handelt. Um den Inhalt richtig darzustellen, muss das Programm daher genau wissen, um welchen Datentyp es sich handelt.
In vielen Programmiersprachen muss man daher vor der Verwendung einer Variablen den Datentyp vorher genau festlegen. Das bringt einen zusätzlichen Arbeitsaufwand mit sich. Außerdem lässt sich der Typ später nicht mehr verändern. Python sorgt jedoch auch in diesem Bereich für eine einfache Arbeitsweise. Der Interpreter erkennt anhand deiner Eingaben selbst, um welchen Datentyp es sich handelt und nimmt dir diese Arbeit ab.
Du kannst sogar den Datentyp einer Variablen im Verlauf des Programms ändern. Das zeigt das folgende Beispiel:
var = 8 print(var) var = 7.34 print(var) var = "Hallo" print(var) var = True print(var)
Die Ausgabe:
Hinweis: Buchstaben oder Texte müssen immer in Anführungszeichen stehen. Für Wahrheitswerte kommen die Werte True
und False
infrage. Diese musst du immer großschreiben.
Wozu dienen Datenstrukturen?
Ein Beispiel: Dein Kühlschrank ist leer. Du überlegst, was du bei deinem nächsten Besuch im Supermarkt alles kaufen musst und machst eine Einkaufsliste. Dabei wäre es sehr unpraktisch, wenn du jeden einzelnen Artikel auf einen separaten Zettel schreibst. Stattdessen erstellst du eine Liste auf einem einzigen Blatt Papier.
In der Informatik gibt es viele ähnliche Situationen, in denen es nicht sinnvoll wäre, für jeden einzelnen Wert eine eigene Variable zu bestimmen. Auch hier kann man Listen verwenden. Dafür musst du dir wieder einen Namen für die Liste überlegen (die Regeln sind dabei die gleichen wie bei den Variablennamen). Danach folgt wieder das Gleichheitszeichen.
Anstatt nun einen einzelnen Wert zuzuweisen, schreibst du diesmal jedoch alle Werte, jeweils durch ein Komma getrennt, in eine eckige Klammer. Wenn du deine nächste Einkaufsliste mit Python erstellen willst, könnte sie so aussehen:
einkaufsliste = ["Milch", "Butter", "Brot", "Kaffee", "Marmelade"]
Wenn du auf diese Weise dein Frühstück zusammengestellt hast, ist es später notwendig, auf die einzelnen Einträge der Liste zuzugreifen und sie zu verändern – beispielsweise wenn du eines der Produkte in den Einkaufswagen gelegt hast.
Dazu musst du nach dem Namen der Liste in einer eckigen Klammer die entsprechende Indexnummer hinzufügen. Achte dabei darauf, dass die Liste immer mit der Indexnummer 0 beginnt.
Den ersten Eintrag erreichst du demnach über folgenden Befehl:
einkaufsliste[0]
Den zweiten Eintrag mit:
einkaufsliste[1]
Das nächste Programm verdeutlicht die Anwendung. Es erstellt zunächst die Liste und gibt daraufhin alle Elemente aus:
einkaufsliste = ["Milch", "Butter", "Brot", "Kaffee", "Marmelade"] print (einkaufsliste[0]) print (einkaufsliste[1]) print (einkaufsliste[2]) print (einkaufsliste[3]) print (einkaufsliste[4])
Die Ausgabe:
Datenstrukturen sind also immer dann hilfreich, wenn es sich um zusammengehörige Datensätze handelt – beispielsweise alle Artikelnummern im Sortiment eines Händlers oder um alle Eigenschaften eines bestimmten Produkts. Die Zusammenfassung in einer Liste gestaltet die Programme übersichtlicher. Darüber hinaus ist es möglich, bestimmte Befehle auf alle Inhalte der Liste anzuwenden – ohne sie einzeln für jedes Element einzugeben. Das erhöht die Effizienz der Programme deutlich.