Kurz: Jeder Wert in Python hat einen Datentyp. Der Typ bestimmt, was man mit dem Wert tun kann: Zahlen kann man addieren, Texte aneinanderhängen, Listen durchlaufen. Den Typ eines Wertes zeigt dir type().
Teil des Kurses Python
Jeder Wert in Python hat einen Datentyp. Der Typ bestimmt, was man mit dem Wert tun kann: Zahlen kann man addieren, Texte aneinanderhängen, Listen durchlaufen. Den Typ eines Wertes zeigt dir type().
print(type(42))
print(type(3.14))
print(type("Hallo"))
print(type(True))
print(type([1, 2, 3]))
print(type((1, 2)))
print(type({"a": 1}))
print(type({1, 2}))
print(type(None))Ausgabe:
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
<class 'list'>
<class 'tuple'>
<class 'dict'>
<class 'set'>
<class 'NoneType'>Die eingebauten Grundtypen
| Typ | Beispiel | Bedeutung |
|---|---|---|
int | 42, -7 | ganze Zahl (beliebig groß) |
float | 3.14, 2.5e3 | Kommazahl |
complex | 2 + 3j | komplexe Zahl |
str | "Hallo" | Text (Zeichenkette) |
bool | True, False | Wahrheitswert |
list | [1, 2, 3] | veränderliche Liste |
tuple | (1, 2) | unveränderliches Tupel |
dict | {"a": 1} | Zuordnung Schlüssel → Wert |
set | {1, 2, 3} | Menge ohne Doppelte |
NoneType | None | ”kein Wert” |
Listen, Tupel, Dictionaries und Mengen behandeln wir in eigenen Kapiteln.
Typ prüfen
isinstance(wert, typ) fragt, ob ein Wert zu einem Typ gehört. Das ist besser als den Typ mit == zu vergleichen:
x = 5
print(isinstance(x, int))
print(isinstance(x, str))
print(isinstance(True, int)) # bool ist eine Unterart von intAusgabe:
True
False
TrueTypen umwandeln
Mit den Funktionen int(), float(), str(), bool(), list() und anderen wandelst du Werte um:
print(int("42") + 1)
print(float("3.5") * 2)
print(str(100) + " Euro")
print(int(7.9)) # schneidet ab, rundet nicht
print(list("abc"))Ausgabe:
43
7.0
100 Euro
7
['a', 'b', 'c']Passt der Inhalt nicht, gibt es einen Fehler:
int("zwölf")Fehlermeldung:
Traceback (most recent call last):
File "beispiel.py", line 1, in <module>
int("zwölf")
ValueError: invalid literal for int() with base 10: 'zwölf'Wahr oder falsch: Truthiness
In Bedingungen behandelt Python jeden Wert als wahr oder falsch. Falsch sind: False, None, 0, 0.0, der leere Text "" und leere Sammlungen ([], (), {}, set()). Alles andere ist wahr.
for wert in [0, 1, "", "a", [], [0], None]:
print(repr(wert), "->", bool(wert))Ausgabe:
0 -> False
1 -> True
'' -> False
'a' -> True
[] -> False
[0] -> True
None -> FalseVeränderlich oder nicht?
Einige Typen kann man nach dem Anlegen ändern (mutable: Liste, Dictionary, Menge), andere nicht (immutable: Zahlen, Texte, Tupel). Das spielt eine Rolle, wenn du Werte an Funktionen weitergibst oder kopierst; dazu später mehr.
Hinweis
Wenn du bei einem Wert nicht weißt, was er ist:
print(type(wert))undprint(repr(wert))sind deine besten Freunde beim Fehlersuchen.
Merke
type(x)zeigt den Typ,isinstance(x, int)prüft ihn- Umwandeln:
int(),float(),str(),bool(),list() - Falsch sind
False,None,0, leerer Text und leere Sammlungen int(7.9)ergibt 7 (abschneiden), nicht 8- veränderlich: list, dict, set; unveränderlich: int, float, str, tuple
Übungsaufgabe
Wandle den Text "123" in eine Zahl um, addiere 1 und gib das Ergebnis samt Typ aus.
Quiz zur Selbstkontrolle
Welchen Typ hat der Wert 3.14?
- float (richtig)
- int
- str
- decimal
Was ergibt int(7.9)?
- 7 (richtig)
- 8
- 7.9
- Einen Fehler
Welcher dieser Werte gilt in einer Bedingung als falsch?
- Die leere Liste [] (richtig)
- Der Text “False”
- Die Zahl -1
- Die Liste [0]
Weiter im Kurs
Zurück: Variablen
Weiter: Zahlen und Rechnen
Alle Kapitel: Python im Überblick