2.2 Datentypen und Variablen#

Mit Zahlen wird anders umgegangen, als mit Texten. Zahlen werden beispielsweise addiert, bei Texten werden beispielsweise Kleinbuchstaben durch Großbuchstaben ersetzt. Daher ist es nicht verwunderlich, dass Python für beide Arten von Informationen eine andere technische Umsetzung verwendet. Das führt zu dem Thema Datentypen und dem Speichern von Informationen in Variablen.

Lernziele#

Lernziele

  • Sie wissen, was Datentypen sind.

  • Sie kennen den Unterschied zwischen Ganzzahlen und Fließkommazahlen und die dazugehörigen Datentypen Integer und Float.

  • Sie kennen den Datentyp String, der Zeichenketten repräsentiert.

  • Sie wissen, was eine Variable ist und wie sie erzeugt und gefüllt wird.

  • Sie können mit der Funktion type() den Datentyp einer Variable ermitteln.

Los geht es mit dem Programmieren - Datentypen in Python#

Der Computer kann Informationen nur als 0 oder 1 verarbeiten. Auf dem Speichermedium oder im Speicher selbst werden Daten daher als eine Folge von 0 und 1 gespeichert. Damit es für uns Programmiererinnen und Programmierer einfacher wird, Daten zu speichern und zu verarbeiten, wurden Datentypen eingeführt.

Datentypen fassen gleichartige Objekte zusammen und stellen passende Operationen zur Verfügung. Es hängt von der Programmiersprache ab, welche Datentypen zur Verfügung stehen, wie diese im Hintergrund gespeichtert werden und welche Operationen damit möglich sind. In diesem Kapitel beschäftigen wir uns mit den einfachen Datentypen

  • Integer

  • Float

  • String

Zahlen (Integers und Floats)#

In der Programmierung unterscheidet man grundsätzlich zwischen zwei Zahlenarten, den Ganzzahlen und den Gleitkommazahlen, die auch Fließkommazahlen genannt werden. Die Ganzzahlen werden in der Mathematik als ganze Zahlen bezeichnet. In der Informatik wird meist der englische Begriff Integer verwendet. Mit Integern können wir ganz normal rechnen, also Operationen ausführen. Einige davon haben wir ja bereits ausprobiert, als wir Python als Taschenrechner benutzt haben:

2 * (3 + 4)
14

Sobald wir eine Division vorliegen haben, die nicht aufgeht, verlassen wir den Bereich der ganzen Zahlen und kommen automatisch zu den Fließkommazahlen. In der Informatik wird eine Fließkommazahl als Float bezeichnet. Python rechnet automatisch mit dem richtigen Datentyp, wie Sie hier sehen:

2/5
0.4

Beachten Sie bitte: Das Dezimaltrennzeichen ist ein Punkt, nicht ein Komma wie im Deutschen. Aber ansonsten funktioniert alles wie erwartet:

2.3 + 4.6
6.8999999999999995
1.4 - 5.2
-3.8000000000000003
(-3.8) * 3.1
-11.78
2.4 / 0.3
8.0
2.5**10
9536.7431640625

Das folgende Video fasst Zahlen in Python zusammen.

Strings#

Daten sind aber sehr oft keine Zahlen. Beispielsweise könnte man sich vorstellen, eine Einkaufsliste zu erstellen und diese im Computer oder in einer Notiz-App auf dem Handy zu speichern. Eine solche Zeichenkette heißt in der Informatik String. Mit Zeichen meint man dabei Zahlen, Buchstaben oder andere wie beispielsweise !"§$%&/()=?.

Strings werden in Python durch einfache oder doppelte Anführungszeichen definiert:

"Dies ist ein String!"
'Dies ist ein String!'

Strings haben wir bei dem Hallo-Welt-Programm schon kennengelernt. Allerdings haben wir zu diesem Zeitpunkt noch nicht den korrekten Fachbegriff String verwendet, sondern sie als Texte bezeichnet.

Auf Strings und ihre Anwendungen kommen wir später noch zurück. Wenn Sie bereits jetzt mehr erfahren wollen, können Sie sich folgendes Video ansehen.

Variablen#

Variablen sind beschriftete Schubladen. Oder anders formuliert sind Variablen Objekte, denen man einen Namen gibt. Technisch gesehen sind diese Schubladen ein kleiner Bereich im Arbeitsspeicher des Computers. Was in diesen Schubladen aufbewahrt wird, kann sehr unterschiedlich sein. Beispielsweise die Telefonnummer des ADAC-Pannendienstes, die 10. Nachkommastelle von \(\pi\) oder die aktuelle Position des Mauszeigers können in den Schubladen enthalten sein.

Wir verwenden Variablen, um bestimmte Werte oder ein bestimmtes Objekt zu speichern. Eine Variable wird durch Zuweisung erzeugt. Damit meinen wir, dass eine Schublade angelegt wird und die Schublade dann erstmalig gefüllt wird. Das erstmalige Füllen der Schublade nennt man in der Informatik auch Initialisieren.

x = 0.5

Sobald die Variable x in diesem Beispiel durch eine Zuweisung von 0.5 erstellt wurde, können wir sie verwenden:

x * 3
1.5
x + 17.8
18.3

Variablen müssen initialisiert (erstmalig mit einem Wert versehen) werden, bevor sie verwendet werden können, sonst tritt ein Fehler auf.

Mini-Übung

Schreiben Sie in die nächste Code-Zelle einfach den Buchstaben n unter die Kommentarzeile und lassen Sie dann die Code-Zelle mit run vom Python-Interpreter ausführen. Was beobachten Sie? Recherchieren Sie im Internet nach der Fehlermeldung.

# Geben Sie nach diesem Kommentar Ihren Code ein:

Lösung

n

Der Interpreter zeigt in rot eine Fehlermeldung an: “NameError: name ‘n’ is not defined”. Damit weist der Interpreter darauf hin, dass die Variable bisher nicht mit einem Wert versehen wurde, sie ist nicht intialisiert worden. Daher kann damit auch nicht gearbeitet werden.

Gerne können Sie sich auch folgendes Video auf YouTube ansehen, das eine Einführung in das Thema Variablen in Python gibt.

Richtlinien für Variablennamen#

Früher war der Speicherplatz von Computern klein, daher wurden häufig nur kurze Variablennamen wie beispielsweise i oder N verwendet. Heutzutage ist es Standard, nur in Ausnahmefällen (z.B. in Schleifen, dazu kommen wir noch) kurze Variablennamen zu nehmen. Stattdessen werden Namen benutzt, bei denen man erraten kann, was die Variable für einen Einsatzzweck hat. Beispielsweise lässt der Code

m = 0.19
n = 80
b = n + m * n
print(b)
95.2

nur schwer vermuten, was damit bezweckt wird. Oder können Sie erahnen, was dort passieren soll? Dagegen erahnt man bei diesem Code schon eher, was bezweckt wird:

mehrwertsteuersatz = 19/100
nettopreis = 80
bruttopreis = nettopreis + mehrwertsteuersatz * nettopreis
print(bruttopreis)
95.2

Verwenden Sie für Variablennamen nur ASCII-Zeichen, also keine Umlaute wie ö, ü oder ß. Zahlen sind erlaubt, aber nicht am Anfang des Namens. Es ist sinnvoll, lange Variablen durch einen Unterstrich besser lesbar zu gestalten (sogenannte Snake-Case-Formatierung). Ich empfehle für Variablennamen beispielsweise dateiname_alt oder dateiname_neu, wenn beispielsweise eine Datei umbenannt wird. Sie sind frei in der Gestaltung der Variablennamen, verboten sind nur die sogannnten Schlüsselwörter. Schlüsselwörter sind beispielsweise eingebaute Kommandos an den Python-Interpreter. Würden Sie diese als Variablennamen benutzen, wüsste der Python-Interpreter nicht, ob das Kommando oder die Variable gemeint ist.

Mini-Übung

Initialisieren Sie eine Variable namens alter mit Ihrem aktuellen Alter, eine Variable rentenalter mit dem Zahlenwert 67 und berechnen Sie dann, wie viele Jahre es noch bis zum Renteneintritt dauert.

# Geben Sie nach diesem Kommentar Ihren Code ein:

Lösung

# Geben Sie nach diesem Kommentar Ihren Code ein:
alter = 21
rentenalter = 67
print(rentenalter - alter)

Datentypen ermitteln mit type()#

In den bisher betrachteten Beispielen sind die Python-Programme ein bis zwei Zeilen lang. Unwahrscheinlich, dass dann nicht klar ist, welchen Datentyp eine Variable hat. Wenn aber später die Programme länger werden und vielleicht auch Benutzereingaben dazu kommen, kann man auch den Überblick darüber verlieren. Dafür gibt es die type()-Funktion.

datentyp_integer = type(3)
print(datentyp_integer)

datentyp_float = type(3.1)
print(datentyp_float)

datentyp_string = type('Hallo')
print(datentyp_string)
<class 'int'>
<class 'float'>
<class 'str'>

Weiteres Lernmaterial#

Das folgende Video fasst die drei Datentypen Integer, Float uns String übersichtsartig zusammen.