Python data types
Table of Contents
In diesem Lernprogramm lernen Sie verschiedene Datentypen kennen, die Sie in Python verwenden können.
Data types in Python
Jeder Wert in Python hat einen Datentyp. Da in der Python-Programmierung alles ein Objekt ist, sind Datentypen eigentlich Klassen und Variablen sind Instanzen (Objekte) dieser Klassen.
Es gibt verschiedene Datentypen in Python. Einige der wichtigen Typen sind unten aufgeführt.
Python Numbers
Ganzzahlen, Fließkommazahlen und komplexe Zahlen fallen unter die Kategorie Python-Zahlen. Sie sind definiert als int
, float
und complex
classes unter Python.
Wir können die type()
Funktion, um zu wissen, zu welcher Klasse eine Variable oder ein Wert gehört. Ähnlich, dieisinstance()
Funktion wird verwendet, um zu prüfen, ob ein Objekt zu einer bestimmten Klasse gehört.
b = 6 print(b, "ist vom Typ", type(b)) b = 5.0 print(b, "ist vom Typ", type(b)) b = 2+2j print(b, "ist komplexe Zahl?", isinstance(2+2j,complex))
Output
6 ist vom Typ <class 'int'> 5.0 ist vom Typ <class 'float'> (2+2j) ist komplexe Zahl? True
Ganzzahlen können eine beliebige Länge haben, sie wird nur durch den verfügbaren Speicher begrenzt.
Eine Fließkommazahl ist bis zu 15 Nachkommastellen genau. Integer- und Fließkommazahlen werden durch Dezimalpunkte getrennt. 1 ist eine ganze Zahl, 1.0 ist eine Gleitkommazahl.
Komplexe Zahlen werden in der Form geschrieben, x + yj
, wobei x ist der Realteil und y ist der Imaginärteil. Hier sind einige Beispiele.
>>> a = 1234567890123456789 >>> a 1234567890123456789 >>> b = 0.1234567890123456789 >>> b 0.12345678901234568 >>> c = 1+2j >>> c (1+2j)
Beachten Sie, dass die float
variable b wurde abgeschnitten.
Python List
Liste ist eine geordnete Folge von Elementen. Sie ist einer der am häufigsten verwendeten Datentypen in Python und ist sehr flexibel. Alle Elemente in einer Liste müssen nicht vom gleichen Typ sein.
Das Deklarieren einer Liste ist ziemlich einfach. Durch Kommas getrennte Elemente werden in Klammern eingeschlossen [ ]
.
a = [1, 2.2, 'python']
Wir können den Slicing-Operator verwenden [ ]
um ein Element oder einen Bereich von Elementen aus einer Liste zu extrahieren. Der Index beginnt in Python bei 0.
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)) a = [5,10,15,20,25,30,35,40] # a[2] = 15 print("a[2] = ", a[2]) # a[0:3] = [5, 10, 15] print("a[0:3] = ", a[0:3]) # a[5:] = [30, 35, 40] print("a[5:] = ", a[5:])
Output
a[2] = 15 a[0:3] = [5, 10, 15] a[5:] = [30, 35, 40]
Listen sind veränderbar, d. h., der Wert von Elementen einer Liste kann verändert werd
a = [1, 2, 3] a[2] = 4 print(a)
Output
[1, 2, 4]
Python Tuple
Tupel ist eine geordnete Folge von Elementen wie eine Liste. Der einzige Unterschied ist, dass Tupel unveränderlich sind. Einmal erstellte Tupel können nicht geändert werden.
Tupel werden zum Schreibschutz von Daten verwendet und sind in der Regel schneller als Listen, da sie sich nicht dynamisch ändern können.
Sie wird in Klammern definiert ()
wobei die Elemente durch Kommata getrennt sind.
t = (5,'program', 1+3j)
Wir können den Slicing-Operator verwenden []
um Elemente zu extrahieren, aber wir können seinen Wert nicht ändern.
t = (5,'program', 1+3j) # t[1] = 'program' print("t[1] = ", t[1]) # t[0:3] = (5, 'program', (1+3j)) print("t[0:3] = ", t[0:3]) # Erzeugt Fehler # Tupel sind unveränderlich t[0] = 10
Output
t[1] = program t[0:3] = (5, 'program', (1+3j)) Traceback (most recent call last): File "test.py", line 11, in <module> t[0] = 10 TypeError: 'tuple' object does not support item assignment
Python Zeichenketten
String ist eine Folge von Unicode-Zeichen. Wir können einfache Anführungszeichen oder doppelte Anführungszeichen verwenden, um Strings darzustellen. Mehrzeilige Strings können mit dreifachen Anführungszeichen bezeichnet werden, '''
or """
.
s = "Dies ist eine Zeichenkette" print(s) s = '''Eine mehrzeilige Zeichenkette''' print(s)
Output
Dies ist eine Zeichenkette Eine mehrzeilige Zeichenkette
Genau wie eine Liste und ein Tupel kann der Slicing-Operator [ ]
kann mit Zeichenketten verwendet werden. Zeichenketten sind jedoch unveränderlich.
s = 'Hallo world!' # s[4] = 'o' print("s[4] = ", s[4]) # s[6:11] = 'world' print("s[6:11] = ", s[6:11]) # Erzeugt Fehler # Strings sind in Python unveränderlich s[5] ='d'
Output
s[4] = o s[6:11] = world Traceback (most recent call last): File "<string>", line 11, in <module> TypeError: 'str' object does not support item assignment
Python Set
Set ist eine ungeordnete Sammlung von eindeutigen Elementen. Set wird durch Werte definiert, die durch Komma in geschweiften Klammern getrennt sind { }
. Elemente in einem Satz sind nicht geordnet.
a = {5,2,3,1,4} # Drucksatz variabel print("a = ", a) # Datentyp der Variablen a print(type(a))
Output
a = {1, 2, 3, 4, 5} <class 'set'>
Wir können Mengenoperationen wie Vereinigung, Schnittpunkt auf zwei Mengen durchführen. Mengen haben eindeutige Werte. Sie eliminieren Duplikate.
a = {1,2,2,3,3,3} print(a)
Output
{1, 2, 3}
Da Mengen ungeordnete Sammlungen sind, hat die Indizierung keine Bedeutung. Daher ist der Slicing-Operator []
funktioniert nicht.
>>> a = {1,2,3} >>> a[1] Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module> TypeError: 'set' object does not support indexing
Python Dictionary
Dictionary ist eine ungeordnete Sammlung von Schlüssel-Wert-Paaren.
Es wird im Allgemeinen verwendet, wenn wir eine große Menge an Daten haben. Dictionaries sind für das Abrufen von Daten optimiert. Wir müssen den Schlüssel kennen, um den Wert abrufen zu können.
In Python werden Dictionaries innerhalb geschweifter Klammern definiert {}
wobei jedes Element ein Paar in der Form key:value
. Schlüssel und Wert können von beliebigem Typ sein.
>>> d = {1:'value','key':2} >>> type(d) <class 'dict'>
Wir verwenden Schlüssel, um den jeweiligen Wert abzurufen. Aber nicht andersherum.
d = {1:'value','key':2} print(type(d)) print("d[1] = ", d[1]) print("d['key'] = ", d['key']) # Erzeugt Fehler print("d[2] = ", d[2])
Output
<class 'dict'> d[1] = value d['key'] = 2 Traceback (most recent call last): File "<string>", line 9, in <module> KeyError: 2
Konvertierung zwischen Datentypen
Wir können zwischen verschiedenen Datentypen konvertieren, indem wir verschiedene Typkonvertierungsfunktionen wie int()
, float()
, str()
, usw.
>>> float(5) 5.0
Bei der Konvertierung von float nach int wird der Wert abgeschnitten (näher an Null).
>>> int(10.6) 10 >>> int(-10.6) -10
Die Konvertierung nach und von String muss kompatible Werte enthalten.
>>> float('2.5') 2.5 >>> str(25) '25' >>> int('1p') Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module> ValueError: invalid literal for int() with base 10: '1p'
Wir können sogar eine Sequenz in eine andere umwandeln.
>>> set([1,2,3]) {1, 2, 3} >>> tuple({5,6,7}) (5, 6, 7) >>> list('hello') ['h', 'e', 'l', 'l', 'o']
Um in ein Wörterbuch zu konvertieren, muss jedes Element ein Paar sein:
>>> dict([[1,2],[3,4]]) {1: 2, 3: 4} >>> dict([(3,26),(4,44)]) {3: 26, 4: 44}