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