Skip to content

Datentypen

Programmieren

Die meisten Programmiersprachen kennen verschiedenen Datentypen – je nachdem was für Werte gespeichert werden sollen. Python kennt die folgenden einfachen Datentypen:

Boolsche Werte (boolean) ​

Wahr oder Falsch.

python
True
False

Ganze Zahlen (integer) ​

Eine ganze Zahl. Grundsätzlich können in Python Integers beliebig gross werden. Die Grösse ist begrenzt durch den zur Verfügung stehenden Speicherplatz.

python
7
9823213497274
-124

Dezimalzahlen (float) ​

Ein Dezimalbruch – natürlich nur mit endlicher Genauigkeit. Bei Berechnungen mit Floats können kleine Rundungsfehler entstehen!

Python erkennt Floats am Punkt. Achtung: kein Komma – wir sprechen vom Dezimalkomma, im Englischen decimal point.

python
3.14
642884.12348
-12.0

Zeichenkette/Text (string) ​

Eine Folge von Zeichen, also Buchstaben, aber auch Zahlen und Sonderzeichen. Damit Python den String erkennt – und nicht meint es handle sich um eine Anweisung, müssen wir wir ihn in Anführungszeichen stellen.

python
"hello world!"
'Hallo Welt!'
"àéè+*ç%&&/()=?"

Aufgabe: Datentypen

  • Wechsle in Thonny in die Python-Shell
  • Gib die Werte aus den obigen Beispielen ein
  • Mit dem Unterprogramm type() kannst du den Datentyp eines Wertes abfragen
python
type(3.14)
type(5)
type(5.0)
type("hello world")

Datentypen konvertieren ​

Teilweise muss man einen Datentyp in einen anderen umwandeln – manchmal geschieht das auch automatisch:

Der print-Befehl wandelt alle angegeben Argumente automatisch um in Strings, damit diese als Text ausgegeben werden können:

python
print(27, "ist keine Primzahl")

möchte man jedoch aus einer Zahl und einem String einen neuen String erzeugen, klappt das mit dem +-Operator nicht! Der folgende Code erzeugt beim Ausführen einen Fehler (eine sogenannte Exception):

python
print(27 + " ist keine Primzahl")

Wäre 27 vom Typ str und kein int, dann könnten wir mit + die beiden Strings zusammenhängen. Wir müssen also den int in einen String umwandeln. Das können wir mit dem Befehl str() machen:

python
print(str(27) + " ist keine Primzahl")

Für jeden Datentyp existiert so ein Befehl, der das Argument versucht in diesen Datentyp umzuwandeln:

DatentypBefehlBemerkung
booleanbool()True für die Zahl Null und den leeren String, sonst False
integerint()Bei Strings Exception möglich, Floats werden abgerundet
floatfloat()Bei Strings Exception möglich
stringstr()–

Gymnasium Kirchenfeld, fts & lem