Datentypen - Eigenschaften#
Datentypen lassen sich nach drei Eigenschaften klassifizieren:
Zerteilbarkeit: atomar oder zusammengesetzt?
Atomar bedeutet: der Wert ist „ein Ding“ (z. B.int,float,bool).
Zusammengesetzt bedeutet: der Wert besteht aus mehreren Teilen oder enthält andere Werte (z. B.list,tuple,dict,set, auchstrals Folge von Zeichen).Abstraktionsgrad: primitiv - ja oder nein?
Die Idee ist: Manche Typen sind nah an grundlegenden Werten (Zahlen, Wahrheitswerte, Text), andere Typen dienen vor allem dazu, Werte zu strukturieren oder Beziehungen auszudrücken (Sammlungen wielist/dictoder eigene Klassen). Oft spricht man hier von „primitiven“ vs. „komplexen“ Typen, aber in Python ist der Begriff „primitiv“ nicht so sauber wie in C/Java: In Sprachen wie C/Java meint „primitive“ meist Werttypen (direkt im Speicher/Stack, keine Objektidentität, andere Semantik als Objekte/Referenzen). In Python gilt dagegen: Alles sind Objekte (auchint,bool,float,str). Im strengen, technischen Sinn gibt es daher in Python keine „primitiven Datentypen“ wie in C/Java!Herkunft: built-in oder benutzerdefiniert? Built-in Typen kommen mit Python (z. B.
int,str,list,dict).
Benutzerdefinierte Typen bauen Sie selbst (typisch mitclass), um Begriffe aus der Domäne zu modellieren; intern verwenden sie meistens wieder built-in Typen.