Python-Datentypen meistern: Praxisleitfaden
Python-Datentypen
Dieser Leitfaden führt Sie durch die Kerndatentypen in Python und veranschaulicht, wie sie funktionieren und wie man zwischen ihnen konvertiert.
Datentypen in Python
Jeder Wert in Python ist ein Objekt, und jedes Objekt ist eine Instanz einer Klasse, die seinen Typ definiert. Das Verständnis dieser Typen ist essenziell für klaren, effizienten und zuverlässigen Code.
Im Folgenden behandeln wir die am häufigsten verwendeten Datentypen: Zahlen, Listen, Tupel, Strings, Sets und Dictionaries.
Python-Zahlen
Pythons numerische Typen umfassen int, float und complex. Verwenden Sie type(), um die Klasse eines Werts zu prüfen, und isinstance(), um die Mitgliedschaft in einer Klassenhierarchie zu testen.
a = 5
print(a, "is of type", type(a))
a = 2.0
print(a, "is of type", type(a))
a = 1+2j
print(a, "is complex number?", isinstance(1+2j, complex))
Ausgabe
5 is of type <class 'int'> 2.0 is of type <class 'float'> (1+2j) is complex number? True
Ganzzahlen können beliebig groß sein, begrenzt nur durch verfügbaren Speicher. Gleitkommazahlen sind auf etwa 15 Dezimalstellen genau; zum Beispiel ist 1 eine Ganzzahl, während 1.0 ein Float ist.
Komplexe Zahlen folgen der Form x + yj, wobei x der Realteil und y der Imaginärteil ist. Beispielwerte:
>>> a = 1234567890123456789
>>> a
1234567890123456789
>>> b = 0.1234567890123456789
>>> b
0.12345678901234568
>>> c = 1+2j
>>> c
(1+2j)
Der Float b wurde abgeschnitten, um den Präzisionsgrenzen zu genügen.
Python-Liste
Listen sind geordnete, veränderliche Sequenzen, die Elemente beliebigen Typs enthalten können. Mit eckigen Klammern deklariert, werden Elemente durch Kommas getrennt:
a = [1, 2.2, 'python']
Slicing verwenden, um Teillisten abzurufen. Indizes beginnen bei null:
a = [5,10,15,20,25,30,35,40]
print("a[2] = ", a[2])
print("a[0:3] = ", a[0:3])
print("a[5:] = ", a[5:])
Ausgabe
a[2] = 15 a[0:3] = [5, 10, 15] a[5:] = [30, 35, 40]
Listen sind veränderlich; Elemente können neu zugewiesen werden:
a = [1, 2, 3]
a[2] = 4
print(a)
Ausgabe
[1, 2, 4]
Python-Tupel
Tupel sind geordnet, aber unveränderlich. Sie werden oft zum Schutz von Daten verwendet und können leichte Performance-Vorteile gegenüber Listen bieten, da ihre Größe nicht ändern kann. Mit Klammern definiert:
t = (5,'program', 1+3j)
Slicing funktioniert, aber Neuzuweisung löst einen Fehler aus:
t = (5,'program', 1+3j)
print("t[1] = ", t[1])
print("t[0:3] = ", t[0:3])
# t[0] = 10 # würde TypeError auslösen
Ausgabe
t[1] = program t[0:3] = (5, 'program', (1+3j))
Python-Strings
Strings sind unveränderliche Sequenzen von Unicode-Zeichen. Einfache oder doppelte Anführungszeichen verwenden; dreifache Anführungszeichen erlauben mehrzeilige Literale.
s = "This is a string"
print(s)
s = '''A multiline string'''
print(s)
Ausgabe
This is a string A multiline string
Slicing funktioniert, aber der Versuch, ein Zeichen zu ändern, löst einen Fehler aus:
s = 'Hello world!'
print("s[4] = ", s[4])
print("s[6:11] = ", s[6:11])
# s[5] = 'd' # würde TypeError auslösen
Ausgabe
s[4] = o s[6:11] = world
Python-Set
Ein Set ist eine ungeordnete Sammlung einzigartiger Elemente, definiert mit geschweiften Klammern. Sets eliminieren Duplikate automatisch und unterstützen Mengenoperationen wie Vereinigung und Schnitt.
a = {5,2,3,1,4}
print("a = ", a)
print(type(a))
Ausgabe
a = {1, 2, 3, 4, 5}
<class 'set'>
Duplikate werden automatisch entfernt:
a = {1,2,2,3,3,3}
print(a)
Ausgabe
{1, 2, 3}
Da Sets ungeordnet sind, werden Indizierung und Slicing nicht unterstützt.
Python-Dictionary
Dictionaries speichern Schlüssel-Wert-Paare und sind hochoptimiert für Lookup per Schlüssel. Schlüssel und Werte können jeden hashbaren Typ haben.
d = {1:'value','key':2}
print(type(d))
print("d[1] = ", d[1])
print("d['key'] = ", d['key'])
# print("d[2] = ", d[2]) # würde KeyError auslösen
Ausgabe
<class 'dict'> d[1] = value d['key'] = 2
Konvertierung zwischen Datentypen
Python bietet eingebaute Konstruktoren für Typkonvertierung: int(), float(), str() und mehr. Die Konvertierung eines Floats in ein Int schneidet Richtung Null ab.
float(5) # 5.0
int(10.6) # 10
int(-10.6) # -10
String-Konvertierungen erfordern kompatible Darstellungen:
float('2.5') # 2.5
str(25) # '25'
# int('1p') # ValueError
Sequenzen können ineinander konvertiert werden:
set([1,2,3]) # {1, 2, 3}
tuple({5,6,7}) # (5, 6, 7)
list('hello') # ['h', 'e', 'l', 'l', 'o']
Um ein Dictionary aus einem Iterable von Paaren zu erstellen:
dict([[1,2],[3,4]]) # {1: 2, 3: 4}
dict([(3,26),(4,44)]) # {3: 26, 4: 44}
Python
- C# Variablen & Primitive Datentypen meistern: Der komplette Guide
- C++-Datentypen verstehen: Grundlagen, Modifizierer und Best Practices
- C Datentypen erklärt: int, float, char und mehr – Ein vollständiger Leitfaden
- Python-Typkonvertierung & Casting meistern: Umfassender Leitfaden
- Python-Operatoren meistern: Umfassender Leitfaden
- Python pass-Statement meistern: Praxisleitfaden
- 5 Rechenzentrums-Modelle erklärt: Design, Use Cases & Beispiele
- 8 Schlüssel-Cloud-Computing-Modelle 2021
- 8 häufige Datenschutzverletzungsarten – reale Beispiele & Auswirkungen
- C-Datentypen verstehen: Umfassender Leitfaden