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.
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.
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.
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.
"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
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:
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):
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:
print(str(27) + " ist keine Primzahl")
Für jeden Datentyp existiert so ein Befehl, der das Argument versucht in diesen Datentyp umzuwandeln:
Datentyp | Befehl | Bemerkung |
---|---|---|
boolean | bool() | True für die Zahl Null und den leeren String, sonst False |
integer | int() | Bei Strings Exception möglich, Floats werden abgerundet |
float | float() | Bei Strings Exception möglich |
string | str() | – |