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}