Zum Inhalt springen

Datentypen und Typisierung – einfach erklärt!

  • Daten

In der Programmierung und für Datenbanken werden Datentypen genutzt, um die Art einer Variablen anzugeben. Dadurch wird beispielsweise auch bestimmt, welche Operationen mit diesen Variablen ausgeführt werden können und welche zu Fehler führen. Wenn man beispielsweise einen Text abspeichert, sind mathematische Operationen, wie Additionen, nicht möglich.

Was sind Datentypen?

In der Informatik definiert man Datentypen für die eine gewisse Menge an Operationen ohne Probleme möglich ist. Mit allen Daten, die einem Datentyp angehören, können diese Operationen durchgeführt werden und es ist sichergestellt, dass keine Fehlermeldung auftritt.

Für den Datentyp “Integer” (zu Deutsch: Ganzzahl) sind beispielsweise die Operationen “Addieren” und “Subtrahieren” definiert. Das heißt, dass wenn wir zwei beliebige Elemente des Datentyps “Integers” haben, dann können wir diese aufsummieren oder subtrahieren und es wird kein Fehler auftreten. Zwei Objekte vom Datentyp “Text” hingegen können diese Operation nicht durchführen, da dies für den Datentypen nicht definiert ist.

Wofür nutzt man Datentypen?

Die Nutzung von Datentypen ermöglicht es in der Programmierung gewisse Operationen zwischen mehreren Variablen durchzuführen. Für jeden Datentyp sind gewisse Berechnungen oder Transformationen definiert, die mit einer anderen Variablen desselben Datentyps ohne Probleme ausgeführt werden können.

Um sicherzugehen, dass es nicht zu Laufzeitfehlern bei Operationen mit mehreren Variablen kommen kann, benutzt man die sogenannte Typisierung.

Was ist die Typisierung in der Informatik?

Als Typisierung bezeichnet man in der Informatik die Möglichkeit Wertebereiche einer Variablen innerhalb einer Programmiersprache einschränken zu können. Eine Programmiersprache, welche über ein Typsystem verfügt, nennt man dabei typisiert. Diese Systeme lassen sich in insgesamt drei Klassen einordnen, abhängig von der Art der Typisierung:

  • Stark vs. Schwach: Hierbei geht es darum, wie streng die jeweilige Programmiersprache die Typen unterscheidet. Eine strenge Typisierung lässt zum Beispiel keine Konvertierung von Variablen in einen anderen Datentyp zu, nachdem die Variable definiert wurde.
  • Dynamisch vs. Statisch: Diese Dimension handelt davon, wann die Typisierung des Objektes stattfindet. In Python ist es beispielsweise so, dass die Variable selbst keinen Datentyp hat, sondern lediglich das Objekt, das der Variablen zugewiesen ist. Das bezeichnet man als dynamische Typisierung. Dadurch werden jedoch auch Fehler aufgrund von inkompatiblen Datentypen erst erkannt, wenn man das gesamte Programm startet. Bei der statischen Typisierung (beispielsweise in Java) muss schon während dem Programmieren der Datentyp der Variablen explizit festgelegt werden.
  • Explizit vs. Implizit: Diese Dimension ist eng verwoben mit der statischen/dynamischen Typisierung. Es geht darum, ob der Datentyp einer Variablen bereits bei der Definition explizit festgelegt wird, oder nur implizit über die Zuordnung des Objektes erkennbar ist.

Welche Datentypen gibt es?

Je nach Programmiersprache oder Datenbank sind verschiedene Arten von Datentypen definiert, weshalb sich auch die Bezeichnungen leicht unterscheiden können. Im Grunde sind die allgemeinen Datentypen zwischen verschiedenen Systemen und Programmiersprachen jedoch sehr ähnlich.

Integer (int)

Integers werden für Ganzzahlen genutzt, also für positive und negative Zahlen ohne Nachkommastellen, beispielsweise -841 oder +903.

Floating Point (Float)

Der Float Datentyp wird auch für numerischen Variablen genutzt, die jedoch im Gegensatz zu Integers auch Nachkommzahlen haben, z.B. -130,45 oder +923,58923.

String

Der String wiederum bezeichnet textuelle Variablen, dessen Werte in Anführungszeichen, also ” ” oder ‘ ‘, abgespeichert werden. Der String kann neben Zeichenketten bestehend aus Buchstaben auch Zahlen oder andere Symbole abspeichern. Diese werden jedoch nicht als Zahlen interpretiert, wodurch mit ihnen auch keine Rechenoperationen möglich sind.

Boolean

Boolesche Datentypen werden genutzt, wenn eine Variable genau einen von zwei möglichen Werten annehmen kann. In vielen Fällen werden entweder die Wertepaare 0/1 oder wahr/falsch genutzt.

Datetime

Der Datetime Datentyp speichert Werte ab, die eine Datumsangabe inklusive einer Zeitangabe beinhalten, wie beispielsweise 2021-09-12 15:23:41. Das Format, welches hierfür genutzt wird, ist also JJJJ-MM-TT hh:mm:ss.

Timestamp

Der Timestamp ist eine weitere Art, um zeitliche Informationen in einer Variablen abzuspeichern. Am häufigsten kommt dabei der sogenannte Unix Timestamp zum Einsatz, der misst, wie viele Sekunden (je nach Format auch Millisekunden) seit dem 01.01.1970 vergangen sind.

Character

Dieser Datentyp wird verwendet um einzelne Buchstaben, Symbole, Zahlen etc. abspeichern zu können. Es ist auch möglich ein einzelnes Leerzeichen abzuspeichern.

Warum sollten Sie sich als Programmierer mit Datentypen beschäftigen?

In vielen Programmiersprachen sind Datentypen explizit, so dass bereits bei der Definition einer Variablen angegeben werden muss, welchen Datentyp sie hat. In diesen Fällen hat der Programmierer also keine andere Wahl, als sich mit Datentypen zu beschäftigen.

Allerdings ist es auch in impliziten Programmiersprachen wie Python sinnvoll, die Datentypen zumindest im Hinterkopf zu behalten. Sobald Python einen Datentypen erkennt, mit dem die gewünschte Operation nicht ausführbar ist, wird ein sogenannter Typfehler zurückgegeben.

Data Types

Wenn diese Fehler auftreten, wissen Sie sofort, wo Sie suchen müssen, um den Code wieder zum Laufen zu bringen. Es muss sich um eine Operation handeln, die mit den angegebenen Datentypen nicht möglich ist. Entweder haben wir also die falsche Operation für die gegebenen Datentypen verwendet oder die Variablen haben andere Datentypen, die sie nicht beabsichtigt haben. 

Um diesen Fehler zu vermeiden, können wir den Datentyp einer Variablen überprüfen und die Operation nur ausführen, wenn wir sicher sind, dass die Typen korrekt sind: 

Data Types

Seit Python Version 3 gibt es auch die Möglichkeit, bei der Definition einer Funktion den Datentyp zu deklarieren. Auf diese Weise definiert der Programmierer genau, welche Typen er als Eingaben erwartet und welche Typen er als Ausgaben bereitstellt. 

Data Types

Es wird jedoch nicht automatisch ein Typfehler ausgegeben, wenn gegen diese Deklaration verstoßen wird. Dennoch hilft die Spezifikation anderen Programmierern im Team, den Code besser zu verstehen und nachgelagerte Funktionen an diese Funktion anzupassen. Außerdem hilft sie den Programmierfrontends, ihre automatische Vervollständigung besser auf den gegebenen Datentyp einzustellen und so Fehler frühzeitig zu erkennen.

Ein weiterer Vorteil von Datentypen ist die Optimierung von Leistung und Datenspeicherung. Ganzzahlige Variablen benötigen zum Beispiel deutlich weniger Speicherplatz als Dezimalzahlen. Gleichzeitig können Ganzzahlen auch schneller Werte verarbeiten als Variablen vom Typ double.

Wie findet man den richtigen Datentypen?

Die Wahl des richtigen Datentyps ist ein wichtiger Schritt bei jeder Datenanalyse, da sie einen erheblichen Einfluss auf die Genauigkeit und Zuverlässigkeit der Ergebnisse haben kann. Im Folgenden sind einige Schlüsselfaktoren aufgeführt, die bei der Auswahl des richtigen Datentyps zu berücksichtigen sind:

  • Art der Daten: Der erste zu berücksichtigende Faktor ist die Art der Daten selbst. Handelt es sich um diskrete oder kontinuierliche Daten? Handelt es sich um numerische oder kategorische Daten? Handelt es sich um Zeitreihendaten oder um räumliche Daten? Wenn Sie die Art der Daten verstehen, können Sie bestimmen, welcher Datentyp für die Analyse am besten geeignet ist.
  • Analyseaufgabe: Der zweite zu berücksichtigende Faktor ist die Analyseaufgabe, die Sie durchführen möchten. Versuchen Sie, Muster in den Daten zu erkennen? Möchten Sie Datengruppen miteinander vergleichen? Möchten Sie zukünftige Trends oder Ergebnisse vorhersagen? Anhand der Analyseaufgabe können Sie bestimmen, welcher Datentyp sich am besten für die Analyse eignet.
  • Software- oder Tool-Anforderungen: Der dritte Faktor, den du berücksichtigen musst, ist die Software oder die Tools, die du für die Analyse verwenden möchtest. Einige Tools können bestimmte Datentypen oder -formate erfordern. Daher ist es wichtig, diese Anforderungen zu kennen, bevor Sie einen Datentyp auswählen.
  • Datenmenge und -qualität: Der vierte zu berücksichtigende Faktor ist der Umfang und die Qualität der Daten. Wenn Sie eine große Datenmenge haben, müssen Sie möglicherweise einen Datentyp verwenden, der für große Datensätze optimiert ist, wie z. B. Zeitreihendaten. Wenn die Daten verrauscht sind oder fehlende Werte enthalten, sollten Sie einen Datentyp verwenden, der mit fehlenden oder unvollständigen Daten umgehen kann, z. B. kategoriale Daten.
  • Anforderungen an die Visualisierung: Der letzte Faktor, den Sie berücksichtigen sollten, sind die Visualisierungsanforderungen, die Sie für die Daten haben. Einige Datentypen eignen sich besser für bestimmte Arten der Visualisierung, wie z. B. Histogramme für numerische Daten oder Balkendiagramme für kategoriale Daten.

Bei der Wahl des richtigen Datentyps kommt es darauf an, die Art der Daten, die Analyseaufgabe, die Anforderungen an die Software oder das Tool, den Umfang und die Qualität der Daten sowie die Anforderungen an die Visualisierung zu verstehen. Wenn Sie diese Faktoren sorgfältig berücksichtigen, können Sie den Datentyp wählen, der für Ihre Analyseaufgabe am besten geeignet ist, und die Genauigkeit und Zuverlässigkeit Ihrer Ergebnisse maximieren.

Das solltest Du mitnehmen

  • Datentypen werden genutzt, um die Art einer Variablen zu definieren. Dadurch wird auch festgelegt, welche Operationen mit der Variablen möglich sind und welche nicht.
  • Als Typisierung bezeichnet man die Möglichkeit, Wertebereiche einer Variablen einschränken zu können.
  • Im Allgemeinen gibt es die Datentypen Integer, Floating Point, String, Boolean, Datetime Timestamp und Character. Darüber hinaus gibt es noch mehr definierte Datentypen, die je nach Programmiersprache oder Datenbank variieren können.

Vielen Dank an Deepnote für das Sponsoring dieses Artikels! Deepnote bietet mir die Möglichkeit, Python-Code einfach und schnell auf dieser Website einzubetten und auch die zugehörigen Notebooks in der Cloud zu hosten.

RESTful API

Was ist eine RESTful API?

Erfahren Sie alles über RESTful APIs und wie sie Ihre Webentwicklungsprojekte effizienter und skalierbarer machen können.

Time Series Data / Zeitreihendaten

Was sind Zeitreihendaten?

Gewinnen Sie mithilfe von Analyse- und Prognosetechniken Erkenntnisse aus Zeitreihendaten. Entdecken Sie Trends und Muster!

Balkendiagramm / Bar Chart

Was ist ein Balkendiagramm?

Entdecken Balkendiagramme bei der Datenvisualisierung. Lernen Sie, wie man sie für aufschlussreiche Datenanalyse erstellt und anpasst.

Liniendiagramm / Line Chart

Was ist ein Liniendiagramm?

Meistern Sie die Kunst der Liniendiagramme: Lernen Sie in unserem Leitfaden, wie Sie Trends und Muster visualisieren können.

Data Preprocessing

Was ist Data Preprocessing?

Optimieren Sie Ihre Datenanalyse mit effektivem Data Preprocessing. Lernen Sie das Wesentliche in unserem Leitfaden zur Datenvorverarbeitung.

Kreisdiagramm / Pie Chart

Was ist ein Kreisdiagramm?

Visualisieren Sie Datenproportionen mit Kreisdiagrammen: Eine intuitive und effektive Methode, um die relative Verteilung zu verstehen.

Andere Beiträge zum Thema Datentypen

  • Auf dieser Seite findest Du eine Übersicht über alle Datentypen in der Programmiersprache Python und nützliche Befehle, wie Du diese definieren oder ändern kannst.
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Cookie Consent mit Real Cookie Banner