Im letzen Kapitel haben wir gesehen, wie wir mit Variablen Werte abspeichern können. Nun wollen wir diese Werte etwas genauer unter die Lupe nehmen.
Speicherplatz
Schauen wir uns die folgenden Behältnisse an – für was sind diese gemacht?
Es handelt sich um Fast-Food-Verpackungen. Je nachdem, was wir verpacken möchten, nehmen wir die korrekte Verpackung. So hat ein Burger in der Pizzaschachtel kaum Platz und die Pizza in der Burger-Box ganz sicher nicht.
Allerdings lässt sich eine beliebige Pizza in der Pizzaschachtel verpacken!
Datentypen
Ähnlich verhält es sich mit Datentypen bei Programmiersprachen:
- Es gibt unterschiedliche Datentypen die verschiedene Werte haben können und auch unterschiedlich viel Platz im Speicher belegen.
- So können Zahlen binär abgespeichert werden, Text muss aber irgendwie codiert werden.
- Zudem kann man mit Zahlen rechnen, mit Text aber nicht!
Die Pizza ist also der Datentyp. Eine Pizza können wir in einer Pizzaschachtel speichern und die Schachtel beschriften – das wäre unsere Variable mit ihrem Namen. Als Wert für Pizzas sind alle möglichen Pizza-Belegungen von Margarita bis Quattro Stagioni denkbar.
in Python
Die wichtigsten einfachen Datentypen von Python sind:
Art | Datentyp | Beschreibung | Beispiele |
---|---|---|---|
Wahrheitswert | bool | Wahr oder Falsch Boolean | True False |
Zahl | int | eine Ganze Zahl Integer | 17 -3 |
float | eine Kommazahl Float | 1.84 -1234.0 | |
Text | str | eine Folge von Zeichen String | "Hello World" |
Datentypen Abfragen
In Python kann man den Datentyp einer Variablen resp. eines Wertes mit dem Befehl type
abfragen:
type(True)
type(17)
type(1.84)
type("Hello World")
print(type(True))
print(type(17))
print(type(1.84))
print(type("Hello World"))
Werte konvertieren
Jeder einfache Datentyp von Python hat einen Konvertierungs-Befehl, der versucht das mitgelieferte Argument umzuwandeln. Diese Befehle heissen genau gleich wie der Datentyp in welchen umgewandelt werden soll:
text = "17"
a = int(text)
print(a)
text = "2.19"
x = float(text)
print(x)
x = 2.712
text = str(x)
print(text)
a = 0
wert = bool(a)
print(wert)
Häufig verwendet man solche Befehle, wenn man Zahlen als Text ausgibt, oder wenn man Zahlenwerte in der Shell einliest.
Zahlen einlesen
Mit dem input
-Befehl können wir Eingaben vom Benutzer entgegennehmen:
x = input("bitte gib eine Zahl ein: ")
print(x, "ist vom Typ", type(x))
Standardmässig liefert der input-Befehl immer Text – also einen Wert vom Datentyp str
– zurück. Falls wir eine Zahl haben möchten, müssen wir die Eingabe explizit umwandeln:
eingabe = input("bitte gib eine Zahl ein: ")
i = int(eingabe)
print(i, "ist vom Typ", type(i))
eingabe = input("bitte gib eine Zahl ein: ")
x = float(eingabe)
print(x, "ist vom Typ", type(x))
Aufgabe
Teste die obenstehenden Beispiele für die Eingabe von Zahlen:
- Was geschieht wenn du Text eingibst?
- Was geschieht wenn du bei der Umwandlung in Ganze Zahlen (
int
) eine Kommazahl eingibst? - Was geschieht wenn du bei der Umwandlung in Kommazahlen (
float
) eine Ganze Zahl eingibst?
Auch kann man Zahlen wieder in Text umwandeln:
x = 17
text = str(17)
print(text, "ist vom Typ", type(text))
oder Zahlen und Text in Wahrheitswerte:
v = bool(17)
print(v, "ist vom Typ", type(v))
w = bool("Hello World")
print(w, "ist vom Typ", type(w))
Zusatzaufgabe
Für welche Werte von str
, float
und int
ergibt die Umwandlung mit bool
in einen Wahrheitswert den Wert False
?
Illustrationen: Designed by vectorpocket / Freepik