Coding Garden
Anmelden

Datentypen: Zahlen, Strings, Booleans

Im letzten Artikel hast du gelernt, dass Variablen verschiedene Arten von Daten speichern können: Text, Zahlen, Wahrheitswerte. Diese verschiedenen Arten nennt man Datentypen.

Datentypen sind wichtig, weil Python je nach Typ unterschiedlich mit den Daten umgeht. Eine Zahl kann man zum Beispiel multiplizieren, einen Text nicht (zumindest nicht im mathematischen Sinne).

Die wichtigsten Datentypen

Python hat viele Datentypen. Für den Anfang sind diese vier am wichtigsten:

  • int – Ganze Zahlen (Integer): 42, -7, 0
  • float – Kommazahlen: 3.14, -0.5, 2.0
  • str – Text (String): "Hallo", 'Python'
  • bool – Wahrheitswerte (Boolean): True, False

Ganze Zahlen (int)

Ganze Zahlen sind Zahlen ohne Nachkommastellen. Sie können positiv, negativ oder null sein.

Python
alter = 25
temperatur = -3
anzahl = 0

print(alter)       # 25
print(temperatur)  # -3
print(anzahl)      # 0

Mit ganzen Zahlen kannst du rechnen:

Python
a = 10
b = 3

print(a + b)   # Addition: 13
print(a - b)   # Subtraktion: 7
print(a * b)   # Multiplikation: 30
print(a / b)   # Division: 3.3333...
print(a // b)  # Ganzzahlige Division: 3
print(a % b)   # Rest (Modulo): 1
print(a ** b)  # Potenz (10 hoch 3): 1000
Note
Bei der normalen Division / ist das Ergebnis immer ein float, auch wenn es eine glatte Zahl ist: 10 / 2 ergibt 5.0, nicht 5.

Kommazahlen (float)

Kommazahlen (Fließkommazahlen) haben Nachkommastellen. In Python verwendest du einen Punkt statt eines Kommas:

Python
preis = 19.99
pi = 3.14159
negativ = -0.5

print(preis)    # 19.99
print(pi)       # 3.14159
print(negativ)  # -0.5
Warning
Verwende einen Punkt, kein Komma! 19.99 ist richtig, 19,99 führt zu einem Fehler.

Du kannst int und float miteinander verrechnen. Das Ergebnis ist dann ein float:

Python
ganze_zahl = 5
kommazahl = 2.5

ergebnis = ganze_zahl + kommazahl
print(ergebnis)  # 7.5

Achtung bei Fließkommazahlen

Computer speichern Kommazahlen nicht immer exakt. Das kann zu überraschenden Ergebnissen führen:

Python
print(0.1 + 0.2)  # 0.30000000000000004

Das liegt an der Art, wie Computer Zahlen intern speichern. Für die meisten Anwendungen ist dieser winzige Unterschied unwichtig. Sei dir aber bewusst, dass Fließkommazahlen nicht immer 100% genau sind.

Text (str)

Strings sind Zeichenketten – also Text. Sie stehen immer in Anführungszeichen:

Python
name = "Anna"
stadt = 'Berlin'
leer = ""

print(name)   # Anna
print(stadt)  # Berlin
print(leer)   # (nichts)

Doppelte und einfache Anführungszeichen funktionieren gleich. Ein leerer String "" enthält keinen Text, ist aber trotzdem ein gültiger String.

Anführungszeichen im Text

Was, wenn dein Text selbst Anführungszeichen enthält? Du hast zwei Möglichkeiten:

Python
# Möglichkeit 1: Andere Anführungszeichen außen verwenden
zitat1 = 'Er sagte: "Hallo!"'
zitat2 = "Das ist Anna's Buch"

# Möglichkeit 2: Escape-Zeichen verwenden
zitat3 = "Er sagte: \"Hallo!\""
zitat4 = 'Das ist Anna\'s Buch'

print(zitat1)  # Er sagte: "Hallo!"
print(zitat2)  # Das ist Anna's Buch

Der Backslash \ ist ein Escape-Zeichen. Er sagt Python: "Das nächste Zeichen ist Teil des Textes, nicht das Ende des Strings."

Mehrzeilige Strings

Für Text über mehrere Zeilen verwendest du dreifache Anführungszeichen:

Python
gedicht = """Roses are red,
Violets are blue,
Python is awesome,
And so are you."""

print(gedicht)

Ausgabe:

Text
Roses are red,
Violets are blue,
Python is awesome,
And so are you.

Wahrheitswerte (bool)

Booleans haben nur zwei mögliche Werte: True (wahr) oder False (falsch). Sie werden für Entscheidungen im Programm verwendet.

Python
ist_aktiv = True
hat_zugang = False

print(ist_aktiv)   # True
print(hat_zugang)  # False
Important
Achte auf die Großschreibung! True und False beginnen mit einem Großbuchstaben. true oder false funktionieren nicht.

Booleans entstehen oft durch Vergleiche:

Python
alter = 18

print(alter > 16)   # True (18 ist größer als 16)
print(alter < 10)   # False (18 ist nicht kleiner als 10)
print(alter == 18)  # True (18 ist gleich 18)
print(alter != 20)  # True (18 ist ungleich 20)

Vergleichsoperatoren lernst du später noch genauer kennen. Hier eine kurze Übersicht:

  • == – ist gleich
  • != – ist ungleich
  • < – kleiner als
  • > – größer als
  • <= – kleiner oder gleich
  • >= – größer oder gleich

Den Datentyp prüfen

Mit der Funktion type() kannst du herausfinden, welchen Datentyp ein Wert hat:

Python
print(type(42))        # <class 'int'>
print(type(3.14))      # <class 'float'>
print(type("Hallo"))   # <class 'str'>
print(type(True))      # <class 'bool'>

Das ist besonders nützlich, wenn du nicht sicher bist, welchen Typ eine Variable hat:

Python
wert = 10 / 2
print(wert)        # 5.0
print(type(wert))  # <class 'float'>

Dynamische Typisierung

In Python musst du nicht angeben, welchen Typ eine Variable hat. Python erkennt das automatisch am Wert:

Python
x = 42          # x ist ein int
x = "Hallo"     # x ist jetzt ein str
x = 3.14        # x ist jetzt ein float
x = True        # x ist jetzt ein bool

Eine Variable kann ihren Typ also jederzeit ändern. Das nennt man dynamische Typisierung.

Note
Andere Sprachen wie Java oder C++ erfordern, dass du den Typ einer Variable beim Erstellen festlegst. Python ist da flexibler, was den Einstieg erleichtert.

Typfehler vermeiden

Nicht alle Operationen funktionieren mit allen Typen. Das führt zu Fehlern:

IncorrectPython
# Das funktioniert nicht:
text = "Die Antwort ist: "
zahl = 42
ergebnis = text + zahl  # TypeError!

Python kann einen String und eine Zahl nicht einfach zusammenfügen. Du musst die Zahl erst in einen String umwandeln:

CorrectPython
text = "Die Antwort ist: "
zahl = 42
ergebnis = text + str(zahl)  # "Die Antwort ist: 42"
print(ergebnis)

Oder du verwendest einen f-String, der die Umwandlung automatisch macht:

CorrectPython
zahl = 42
ergebnis = f"Die Antwort ist: {zahl}"
print(ergebnis)

Zusammenfassung

Du hast in diesem Artikel gelernt:

  • int speichert ganze Zahlen: 42, -7
  • float speichert Kommazahlen: 3.14 (mit Punkt, nicht Komma)
  • str speichert Text in Anführungszeichen: "Hallo"
  • bool speichert Wahrheitswerte: True oder False
  • type() zeigt den Datentyp eines Wertes
  • Python erkennt den Typ automatisch (dynamische Typisierung)

Im nächsten Artikel lernst du, wie du Datentypen ineinander umwandeln kannst – zum Beispiel einen String in eine Zahl.