Datentypen

In der EDV (Elektronischen Datenverarbeitung) bestimmen Datentypen, welche Art von Werten eine Variable speichern kann, und sind essenziell für das Verständnis und die korrekte Verarbeitung von Informationen. Sie gliedern sich grob in numerische Typen wie ganze Zahlen (int) oder Fließkommazahlen (float), Zeichenketten (Texte) und spezielle Typen wie Datum und Zeit (datetime), die für die strukturierte Speicherung und Verarbeitung in Datenbanken und anderen Systemen relevant sind. 

Beispiele für Datentypen in der EDV

  • Ganze Zahlen (Integer):
    • byte: Speichert ganze Zahlen im Bereich von 0 bis 255. 

int: Eine größere Bandbreite für ganze Zahlen, z. B. von -32.758 bis 32.767. long: Für sehr große ganze Zahlen. 

  • Fließkommazahlen (Gleitkommazahlen): float: Zur Speicherung von Bruchzahlen oder Zahlen mit Nachkommastellen. 

Datum und Zeit:

  • datetime: Repräsentiert ein bestimmtes Datum und eine bestimmte Uhrzeit. 
  • time: Speichert eine Uhrzeit. 

Bedeutung von Datentypen

  • Strukturierte Daten: Datentypen sorgen für eine klare Struktur bei der Dateneingabe und -verarbeitung, was Fehler vermeidet und die Datenqualität sichert.
  • Effiziente Speicherung: Sie erlauben eine optimierte Speicherung von Daten, da nur der für die Art der Daten benötigte Speicherplatz reserviert wird.
  • Verständliche Verarbeitung: Durch das Festlegen eines Datentyps weiß der Computer, wie er mit der Information umgehen muss, beispielsweise ob es sich um eine Zahl handelt, die für Berechnungen genutzt werden kann, oder um einen Text. 

Arten von Python Data Types

Die Programmiersprache Python umfasst verschiedene integrierte Datentypen. Dazu gehören die folgenden:

  • Numerische Datentypen: int, float, complex
  • Strings: str
  • Sequenzielle Datentypen: list, tuple, range
  • Binäre Typen: bytes, bytearray, memoryview
  • Dictionaries: dict
  • Boolesche Datentypen: bool
  • Mengen: set, frozenset

In Python legen Sie den Datentyp einer Variablen nicht explizit fest, da Python eine dynamische Typisierung verwendet und den Typ automatisch erkennt und zuweist, wenn Sie einen Wert zuweisen. Sie können den Typ jedoch nachträglich mit Funktionen wie int(), float(), str() oder type() überprüfen und umwandeln

In Python kann der Datentyp einer Variablen mit der integrierten Funktion type() erkannt werden, welche den Typ des Objekts zurückgibt. Alternativ kann die Funktion isinstance(variable, datentyp) genutzt werden, um zu prüfen, ob eine Variable einem bestimmten Datentyp angehört. Python ist eine dynamisch typisierte Sprache, sodass der Datentyp einer Variablen erst zur Laufzeit ermittelt und automatisch einer Variablen zugewiesen wird. 

Automatische Typzuweisung (Dynamische Typisierung)

  • Sie schreiben einfach variable = wert, und Python weiß, welcher Datentyp dahintersteckt. 

Beispiel:

  • alter = 30 (Python erkennt alter als Ganzzahl, int

name = "Alice" (Python erkennt name als Zeichenkette, strpi = 3.14 (Python erkennt pi als Fließkommazahl, float

Mit type() den Datentyp ermitteln

Die Funktion type() gibt den Datentyp eines Objekts zurück. 

zahl = 10
text = "Hallo"
liste = [1, 2, 3]

print(type(zahl)) # Ausgabe: <class 'int'>
print(type(text)) # Ausgabe: <class 'str'>
print(type(liste)) # Ausgabe: <class 'list'>

Mit isinstance() den Datentyp überprüfen

Die Funktion isinstance() prüft, ob eine Variable zu einem bestimmten Datentyp gehört und gibt True oder False zurück. 

zahl = 10

print(isinstance(zahl, int)) # Ausgabe: True
print(isinstance(zahl, str)) # Ausgabe: False
print(isinstance(zahl, list)) # Ausgabe: False

Grundlagen der Python-Datentypen

  • Dynamische Typisierung: In Python müssen Sie den Datentyp einer Variablen nicht explizit deklarieren; die Zuweisung des Werts legt den Typ fest. 

Grundlegende Datentypen:

Zu den wichtigsten Datentypen gehören int (Ganzzahlen), float (Dezimalzahlen), str (Zeichenketten), bool (Wahrheitswerte) sowie komplexere Typen wie Listen (list) und Tupel (tuple). 

Verwendung:

Datentypen bestimmen, welche Operationen auf einen Wert angewendet werden können und wie dieser intern gespeichert wird. 

Debugging im Python-REPL mit der type()-Funktion

Einer der Vorteile beim Einsatz einer interpretierten Sprache wie Python ist die interaktive Ausführung von Code im REPL (Read-Eval-Print-Loop). Der Ansatz erlaubt schnelle Prototypisierung und ein direktes Debugging via Inspektion der im Speicher befindlichen Objekte.

Stellen wir uns folgendes Szenario vor: Unser Code enthält eine Variable answer, die einen booleschen Wert enthalten soll. Wir stellen fest, dass der Typ nicht unseren Erwartungen entspricht und nutzen Pythons type()-Funktion, um den tatsächlichen Typ auszugeben. Wie sich herausstellt, haben wir versehentlich den booleschen Wert in Anführungszeichen geschrieben – ein besonders bei Anfängern und Anfängerinnen häufig auftretender Flüchtigkeitsfehler

Achtung!

Die Eingabe wie "12" wird nicht als Zahl erkannt, weil die Funktion input() in Python immer einen String zurückgibt, egal ob die eingegebene Zeichenfolge wie eine Zahl aussieht oder nicht. Um die Eingabe als Zahl zu definieren wurde hier int(eingabe) verwendet.