Python Tutorial - Variablen und Datentypen

Jinku Hu 3 Januar 2023
  1. Python-Variable
  2. Python-Datentyp
Python Tutorial - Variablen und Datentypen

In diesem Abschnitt lernen Sie Variablen und Datentypen in der Python-Programmierung kennen.

Python-Variable

Eine Variable ist eine Speicherstelle, die einen Namen und einen Wert (einige Daten) hat.

Variablen haben eindeutige Namen, damit Speicherplätze unterschieden werden können. Sie haben die gleichen Namensregeln wie Bezeichner zu befolgen. Prüfen Sie Bezeichner-Benennungsregeln.

In Python ist es nicht notwendig, eine Variable (unter Angabe des Datentyps) zu deklarieren, bevor diese Variable verwendet wird. Wenn Sie eine Variable anlegen wollen, schreiben Sie einfach einen gültigen Namen für die Variable und weisen ihr mit Hilfe eines Zuweisungsoperators einen Wert zu. Der Datentyp der Variable wird intern entsprechend der Art des Wertes, den Sie ihr zuweisen, definiert.

Variablenzuweisung

Ein Zuweisungsoperator = wird verwendet, um einer Variablen einen Wert zuzuweisen. Sie können einer Variablen einen beliebigen Wert zuweisen. Der Datentyp der Variablen wird intern definiert.

Der folgende Code zeigt, wie ein Zuweisungsoperator verwendet werden kann, um Werte unterschiedlicher Datentypen zuzuweisen:

x = 3
y = 4.124
z = "Python"

Hier gibt es die Variablen int, float und string.

Mehrfachzuweisungen

Sie können auch mehreren Variablen in einer einzigen Python-Anweisung Werte zuweisen. Dies nennt man Mehrfachzuweisungen. Betrachten Sie den folgenden Code:

x, y, z = 2, 4.124, "Python"

Hier wird 2 an x, 4.124 an y und der String “Python” an z zugewiesen.

Wenn Sie verschiedenen Variablen den gleichen Wert zuweisen wollen, können Sie schreiben:

x = y = z = "Blue"

Nun sind alle drei Variablen gleich.

Warnung
Es ist keine gute Praxis, zwei Variablen wie oben eine Liste zuzuweisen. Sie zeigen beide/alle auf die gleiche Speicherstelle, wenn also der Wert durch eine Variable geändert wird, werden auch alle anderen unbemerkt geändert. Sie könnten auf ein seltsames Verhalten stoßen, wenn Sie sich dessen nicht bewusst sind.

Python-Datentyp

Immer wenn Sie einer Variablen einen Wert zuweisen, wird auch der Datentyp der Variable angegeben. Python ist eine objektorientierte Programmierung, und alles in Python ist ein Objekt, weil Python keine primitiven oder unboxed Typen hat.

In Python sind die Datentypen von Variablen eigentlich die Klasse, von der die Variablen die Instanzen (Objekte) sind.

Im Folgenden sind einige Datentypen in Python aufgeführt:

Zahlen

Zahlen wie ganze Zahlen, Fließkommazahlen und komplexe Zahlen sind Python-Zahlen. In Python werden ganze Zahlen durch int, Fließkommazahlen durch float und komplexe Zahlen durch die Klasse complex dargestellt.

Die eingebaute type() Funktion kann verwendet werden, um den Datentyp einer Variablen zu überprüfen oder um zu prüfen, zu welcher Klasse eine Variable gehört.

Die isinstance() Funktion wird verwendet, um zu prüfen, ob das Objekt eine Instanz der spezifischen Klasse oder eine Unterklasse davon ist. Ihr erstes Argument ist das Objekt selbst und das zweite ist der Datentyp, mit dem verglichen werden soll.

x = 3
print("type of", x, "is", type(x))
x = 3.23
print("type of", x, "is", type(x))
x = 3 + 3j
print("is", x, "a complex number:", isinstance(x, complex))
type of 3 is <class 'int'>
type of 3.23 is <class 'float'>
is (3+3j) a complex number: True

Liste

Eine Liste ist eine geordnete Folge von Elementen (unterschiedlicher) Datentypen. Eine Liste kann in Python durch die Verwendung von eckigen Klammern [] erstellt werden und innerhalb der eckigen Klammern haben Sie Listenelemente, die durch Kommas getrennt sind.

x = [2, 4.5, "blue"]

Um auf das Mitglied der Liste zuzugreifen, können Sie den Indexzugriffsoperator verwenden, der in Python als Slicing-Operator [] bekannt ist. Die Indizierung der Elemente der Liste beginnt bei 0, wie das folgende Beispiel zeigt:

x = [2, 4, 6, 8, 10]
print("x[0] =", x[0])  # displays the first element
print(
    "x[0:2] =", x[0:2]
)  # displays first two elements of list that is at location 0 and 1
print("x[2:] =", x[2:])  # displays elements from location 2 (third element)
x[0] = 2
x[0:2] = [2, 4]
x[2:] = [6, 8, 10]

Die Elemente der Python-Liste können geändert (aktualisiert, gelöscht, hinzugefügt) werden. Mit anderen Worten: Python-Liste ist veränderbar.

Anmerkung
Listen sind veränderbar.

Tupel

Tupel ist auch eine geordnete Liste von Gegenständen, die der Liste entspricht. Der einzige Unterschied zwischen einem Tupel und einer Liste ist, dass das Tupelelement unveränderlich ist.

Sie können ein Python-Tupel durch Klammern definieren und die Elemente werden durch Kommata getrennt:

x = (3, "pink", 3 + 8j)
print("x[0] =", x[0])
print("x[0:2] =", x[0:2])
x[0] = 4  # Error because tuples are immutable
x[0] = 3
x[0:2] = (3, 'pink')
TypeError: 'tuple' object does not support item assignment
Hinweis
Tupel sind unveränderlich.

String

Ein String ist eine Folge von Zeichen. Eine Zeichenkette kann in einfachen oder doppelten Anführungszeichen erstellt werden. Eine mehrzeilige Zeichenkette kann auch durch die Verwendung von dreifachen Anführungszeichen erzeugt werden.

x = "String of characters"
x = """Multiline
string"""

Der Zugriff auf die Zeichen des String-Slicing-Operators wird verwendet.

x = "Python Programming"
print("x[0] =", x[0])
print("x[4:15] =", x[4:15])
x[4] = "l"  # Error because strings are immutable
x[0] = P
x[4:15] = on Programm
TypeError: 'str' object does not support item assignment
Hinweis
Auch Saiten sind unveränderlich.

Set

Set enthält eindeutige Elemente und ist eine ungeordnete Liste von Elementen. Ein Set in Python kann mit geschweiften Klammern {} erstellt werden und die Elemente werden durch Kommas getrennt.

x = {3, 5, 7, 2, 4, 5}
print(x)  # prints the set variable
print(type(x))  # checking type of x
{2, 3, 4, 5, 7}
<class 'set'>
Hinweis
Sets sind veränderbar.

Dictionary

Dictionary ist ein Python-spezifischer Datentyp, dessen Elemente Schlüssel-Werte-Paare sind. Ein Dictionary enthält ungeordnete Elemente. Ein Datenelement oder ein Wert des Dictionaries kann abgerufen werden, wenn der Schlüssel bekannt ist.

Ein Dictionary kann mit geschweiften Klammern {} erstellt werden, wobei jedes Element ein Paar aus Schlüssel und Wert ist.

Schlüssel und Werte im Python-Dictionary können von jedem Typ sein.

Betrachten Sie das folgende Beispiel:

x = {1: "blue", "key": "pink"}
print(type(x))
print("x[1] = ", x[1])  # using key to retrive value
print("x['key'] =", x["key"])  # using key to retrive value
<class 'dict'>
x[1] =  blue
x['key'] = pink
Hinweis
Dictionary ist veränderbar.

Typkonvertierung

Python-Variablen können in andere Typen konvertiert werden, z.B. können Sie den Datentyp int in den Datentyp float konvertieren. Für die Typkonvertierung können Sie Konvertierungsfunktionen wie int(), float(), str(), etc. verwenden.

x = 8
print("Value of x = ", int(x))
print("Value of x = ", float(x))
Value of x =  8
Value of x =  8.0

Wenn Sie einen float Wert in einen int Wert umwandeln wollen, wird der Dezimalteil abgeschnitten.

y = 3.4
print("Converting float to int:", int(y))
Converting float to int: 3

Wenn Sie den Datentyp string in einen anderen Typ konvertieren wollen, müssen Sie kompatible Werte angeben, sonst erhalten Sie einen ValueError:

print("Converting string to float:", float("33.9"))
print("Converting string to float:", float("text"))
Converting string to float: 33.9
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    float('a')
ValueError: could not convert string to float: text

Du kannst eine Sequenz in eine andere konvertieren, zum Beispiel set in ein Tupel oder einen String in List und so weiter, indem du Funktionen wie list(), set(), tuple(), etc. verwendest.

print(set([4, 5, 6]))
print(tuple({8, 9, 10}))
print(list("Python"))
{4, 5, 6}
(8, 9, 10)
["P", "y", "t", "h", "o", "n"]
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook