Einführung
Python ist eine Programmiersprache, die häufig für Systemintegrationszwecke verwendet wird. Diese Sprache verwendet etwas namens ’Datentypen’. Diese Datentypen helfen dabei, einen bestimmten Datentyp zu klassifizieren oder zu definieren. Das bedeutet, dass ein bestimmter Datentyp für spezifische Werte und Operationen gilt, die Sie darauf anwenden können. Jeder Datentyp wird auf unterschiedliche Weise programmiert und bearbeitet. Dies liegt daran, dass jeder Datentyp eine andere Natur hat. Beispielsweise können Sie es mit Strings oder Ganzzahlen zu tun haben.
Das Ziel dieses Leitfadens ist es, Sie mit den verschiedenen Datentypen in Python vertraut zu machen. Darüber hinaus werden wir auch ausführlich besprechen, wie Sie die Datentypen ineinander konvertieren können. Am Ende dieses Tutorials sollten Sie Datentypen wie Zahlen, Strings, Tupel und Listen kennen und wissen, wie man sie konvertiert.
Konvertierung von Zahlen
Wenn wir in Python über Zahlen sprechen, beziehen wir uns möglicherweise auf eine von zwei Optionen. Wir haben es entweder mit Ganzzahlen oder Gleitkommazahlen zu tun. Es kann vorkommen, dass Sie das eine in das andere konvertieren müssen. Es ist Ihnen problemlos möglich, Ganzzahlen in Gleitkommazahlen und Gleitkommazahlen in Ganzzahlen zu konvertieren.
-
Konvertierung: Ganzzahlen in Gleitkommazahlen
Zuerst werden wir untersuchen, wie Sie Ganzzahlen in Gleitkommazahlen konvertieren können. Dies geschieht mit einem Befehl namens float(). Diese Funktion konvertiert jede gegebene Ganzzahl in eine Gleitkommazahl mit Dezimalstellen. Sie müssen lediglich die Ganzzahl in die Klammern setzen. Angenommen, Sie möchten die Ganzzahl 57 in den Datentyp Float konvertieren. So würden Sie bei der Konvertierung vorgehen:
|
1 |
float(57) |
Als Ergebnis der Ausführung dieses Befehls wird die Ganzzahl 57 in die Gleitkommazahl 57.0.
Eine andere Möglichkeit hierfür wäre die Verwendung einer Variablen. Sie können Ihre Ganzzahl durch eine Variable darstellen und dann die Gleitkommazahl mit dem obigen Befehl ausgeben. Nehmen wir an, Sie deklarieren die Variable f als gleich 57. So würde die Konvertierung in diesem Fall ablaufen:
|
1 2 3 |
f = 57 print(float(f)) |
|
1 2 3 |
Ausgabe 57.0 |
-
Konvertierung: Gleitkommazahlen in Ganzzahlen
Es ist auch möglich, Gleitkommazahlen in Ganzzahlen zu konvertieren. Ähnlich wie beim vorherigen Befehl kann diese Konvertierung mit der Funktion int() durchgeführt werden. Genau wie beim letzten Mal müssen Sie lediglich die Gleitkommazahl in die Klammern nach der Funktion einfügen.
In unserem Beispiel konvertieren wir die Gleitkommazahl 390 in eine Ganzzahl. Um die Konvertierung durchzuführen, würden wir folgenden Befehl ausführen:
|
1 |
int(390.8) |
Als Ergebnis der Ausführung dieser Funktion wird 390 in seine Float-Form umgewandelt: 390.8.
Ebenso können Sie die Konvertierung mithilfe von Variablen durchführen. Darüber hinaus können Sie mehrere Konvertierungen gleichzeitig durchführen. Nehmen wir an, dass b gleich 125.0 und c gleich 390.8 ist. So würden Sie diese Gleitkommawerte ausgeben:
|
1 2 3 4 5 |
b = 125.0 c = 390.8 print(int(b)) print(int(c)) |
|
1 2 3 4 |
Ausgabe 125 390 |
Wie Sie sehen können, wurden die Ganzzahlen erfolgreich in Gleitkommazahlen umgewandelt.
Eine wichtige Sache, die man bei der Konvertierung von Gleitkommazahlen in Ganzzahlen beachten sollte, ist, dass die Funktion die Werte nicht aufrundet. Das bedeutet, dass der Nachkommateil der Gleitkommazahl einfach entfernt wird. Die Funktion rundet einen Wert wie 390.8 nicht auf 390 auf – sie entfernt einfach die 0.8 Einheiten, um Ihnen eine Ganzzahl zu liefern.
-
Konvertierung: Durch Division
Es ist auch möglich, Ganzzahlen durch Division in Gleitkommazahlen zu konvertieren. Das Dividieren von Ganzzahlen durcheinander kann einen Quotienten ergeben, der eine Gleitkommazahl ist. Wenn Sie beispielsweise 5 durch 2 teilen, erhalten Sie als Antwort 2.5, was eine Gleitkommazahl ist. Sehen Sie selbst:
|
1 2 |
a = 5 / 2 print(a) |
|
1 2 3 |
Ausgabe 2.5 |
Dies ist eine Besonderheit von Python 3. In Python 2 würde eine solche Division nur eine Ganzzahl als Antwort liefern, wie folgt: 5 / 2 = 2.
Konvertierung mit Strings
Bevor wir darüber sprechen, wie man Konvertierungen mit Strings, müssen Sie wissen, was Strings eigentlich sind. Wenn Sie es nicht bereits wissen: Strings sind Zeichenketten. Dies kann eine Kette von Buchstaben, Zahlen, Symbolen oder anderen Zeichen sein. Möglicherweise kennen Sie Strings im Zusammenhang mit Computerdaten. Das liegt daran, dass Computer diesen Datentyp häufig zur Ausführung ihrer Operationen verwenden.
Wenn Sie mit benutzergenerierten Daten arbeiten, müssen Sie diese Konvertierungen häufig durchführen. Deshalb ist es praktisch zu wissen, wie man Zahlen in Strings umwandelt und Strings in Zahlen konvertiert.
-
Konvertierung: Zahlen in Strings
Sie können die str()-Funktion verwenden, um Zahlen in Strings zu konvertieren. Wie zuvor setzen Sie den Wert, den Sie konvertieren möchten, in die Klammern. Dieser Wert kann entweder eine Zahl oder eine Variable sein. Lassen Sie uns zunächst ansehen, wie Sie eine Ganzzahl, wie z. B. 12, in einen String-Wert konvertieren:
|
1 |
str(12) |
|
1 2 3 |
Ausgabe '12' |
Wie Sie sehen können, zeigt die Ausgabe einen String-Wert. Der String-Wert wird durch die Anführungszeichen gekennzeichnet.
Andererseits können Sie anstelle von Ganzzahlen auch Variablen in die Funktion einsetzen. Hier wird die Funktion erst richtig nützlich. Nehmen wir beispielsweise an, Sie möchten verfolgen und melden, wie viele Zeilen Code ein Benutzer in einem bestimmten Zeitraum schreibt. Um dem Benutzer diese Informationen anzuzeigen, müssen Sie sowohl den String als auch die Ganzzahlwerte ausgeben, und zwar so:
|
1 2 3 4 |
user = "Sammy" lines = 50 print("Herzlichen Glückwunsch, " + user + "! Du hast gerade " + lines + " Zeilen Code geschrieben.") |
Wenn Sie versuchen, den obigen Code auszuführen, erhalten Sie leider eine Fehlermeldung wie diese:

Das bedeutet, dass Sie die Variable lines in einen String-Wert konvertieren müssen, um den Code ausführen zu können.
|
1 2 3 4 |
user = "Sammy" lines = 50 print("Herzlichen Glückwunsch, " + user + "! Du hast gerade " + str(lines) + " Zeilen Code geschrieben.") |
Nachdem Sie die Konvertierungsfunktion eingefügt haben, können Sie den Befehl erfolgreich ausführen. Sie sehen in etwa Folgendes als Ausgabe:
|
1 2 3 |
Ausgabe Herzlichen Glückwunsch, Sammy! Du hast gerade geschrieben 50 Zeilen von Code. |
Wenn Sie einer Zeichenkette anstelle einer Ganzzahl eine Fließkommazahl hinzufügen möchten, müssen Sie ebenso vorgehen. Wie zuvor können Sie den Wert entweder direkt hinzufügen oder eine Variable verwenden. Zum Beispiel:
|
1 2 3 |
print(str(421.034)) f = 5524.53 print(str(f)) |
|
1 2 3 4 |
Ausgabe 421.034 5524.53 |
Wenn Sie sicherstellen möchten, dass der Wert korrekt ist, können Sie ihn wie folgt mit einem String verketten:
|
1 2 |
f = 5524.53 print("Sammy hat " + str(f) + " Punkte.") |
|
1 2 3 |
Ausgabe Sammy hat 5524.53 Punkte. |
Da Sie keine Fehlermeldung erhalten haben, war die Konvertierung erfolgreich.
-
Konvertierung: Strings in Zahlen
Ebenso können Sie auch Strings in Zahlen konvertieren. Wenn Ihr String keine Dezimalstellen hat, ist es besser, ihn in eine Ganzzahl umzuwandeln. Sie können ihn mit der int()-Funktion in Ganzzahlen konvertieren.
Wir werden unser vorheriges Beispiel aus der Ganzzahlkonvertierung weiterverwenden. Nehmen wir also an, dass ein Benutzer namens Sammy seinen Fortschritt beim Schreiben von Code täglich verfolgen möchte. Als Programmierer möchten Sie dem Benutzer diese Informationen auf kreative Weise präsentieren. Da diese Werte jedoch als Strings gespeichert sind, können Sie einige grundlegende Operanden wie – (Subtraktion) nicht auf sie anwenden. Dies können Sie im Folgenden beobachten:
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = lines_today - lines_yesterday print(lines_more) |

Wie Sie sehen können, funktioniert der Operand nicht mit den String-Werten. Stattdessen erhalten Sie eine Fehlermeldung. Um mit den Werten arbeiten zu können, müssen Sie die Strings mit der int()-Funktion in Ganzzahlen konvertieren:
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = int(lines_today) - int(lines_yesterday) print(lines_more) |
|
1 2 3 |
Ausgabe 58 |
Hier ist lines_more eine Variable. Diese Variable ist ein Integer und entspricht dem resultierenden Wert, der in unserem Beispiel 58 ist.
Andererseits können Sie die Strings mithilfe der float()-Funktion konvertieren, wenn Dezimalzahlen vorhanden sind. In diesem Beispiel verwenden wir die Punkte, die der Benutzer Sammy sammelt, im Gegensatz zu der Anzahl der Zeilen, die er schreibt. Die Punkte werden in Dezimalzahlen angegeben:
|
1 2 3 4 5 6 |
total_points = "5524.53" new_points = "45.30" new_total_points = total_points + new_points print(new_total_points) |
|
1 2 3 |
Ausgabe 5524.5345.30 |
Obwohl die Ausgabe nicht als Fehler dargestellt wird, ist sie dennoch nicht korrekt. Der Operand + oder die Addition hat in diesem Fall funktioniert. Aber anstatt die beiden Zahlen zu addieren, wurden die beiden String-Werte einfach nebeneinander platziert.
Aus diesem Grund müssen Sie diese Strings zuerst mit der float()-Funktion in Float-Werte konvertieren:
|
1 2 3 4 5 6 |
total_points = "5524.53" new_points = "45.30" new_total_points = float(total_points) + float(new_points) print(new_total_points) |
|
1 2 3 |
Ausgabe 5569.83 |
Wie Sie oben sehen können, werden die beiden Werte addiert. Denken Sie daran: Wenn Sie versuchen, einen String-Wert in Dezimalzahlen in ein Integer zu konvertieren, erhalten Sie einen Fehler wie diesen:
|
1 2 |
f = "54.23" print(int(f)) |

Daher müssen Sie den String-Datentyp zuerst in Zahlen konvertieren. Danach können Sie problemlos andere Operationen durchführen und den numerischen Wert konvertieren.
Konvertierung in Tupel und Listen
Listen und Tupel sind einige andere Datentypen, die Sie in Python 3 verwenden können. Beide bestehen aus einer Sequenz von Elementen. Der Unterschied zwischen den beiden besteht darin, dass eine Liste veränderlich (mutable) ist, während ein Tupel unveränderlich (immutable) ist. Zudem werden die Elemente einer Liste in eckige Klammern gesetzt [ ], während die eines Tupels in runde Klammern gesetzt werden ( ).
-
Konvertierung: Listen in Tupel
Lassen Sie uns zuerst untersuchen, wie Sie eine Liste in ein Tupel konvertieren können. Möglicherweise müssen Sie diese Konvertierung durchführen, wenn Sie einen unveränderlichen Datentyp benötigen. Zu diesem Zweck müssen Sie die Funktion tuple():
|
1 |
print(tuple(['pull request', 'open source', 'repository', 'branch'])) |
|
1 2 3 |
Ausgabe ('pull request', 'open source', 'repository', 'branch') |
Wie Sie sehen können, befinden sich die Elemente der Liste nun in einem Tupel. Dies wird durch die runden Klammern angezeigt, die die Elemente umschließen.
Sie können auch die tuple()-Funktion mit einer Variable verwenden, die der Liste der Elemente entspricht:
|
1 2 3 |
sea_creatures = ['shark', 'cuttlefish', 'squid', 'mantis shrimp'] print(tuple(sea_creatures)) |
|
1 2 3 |
Ausgabe ('shark', 'cuttlefish', 'squid', 'mantis shrimp') |
Praktischerweise können Sie jeden Datentyp in ein Tupel konvertieren. Hier ist beispielsweise, wie Sie einen String in ein Tupel konvertieren würden:
|
1 |
print(tuple('Sammy')) |
|
1 2 3 |
Ausgabe ('S', 'a', 'm', 'm', 'y') |
Strings können in Tupel konvertiert werden, da sie iterierbar sind. Verständlicherweise können nicht-iterierbare Datentypen nicht in Tupel konvertiert werden. Nehmen wir an, Sie möchten einige Ganzzahlen oder einen Float in ein Tupel konvertieren. Wenn Sie die tuple()-Funktion ausführen, erhalten Sie einen Fehler wie diesen:
|
1 |
print(tuple(5000)) |
|
1 2 3 |
Ausgabe TypeError: 'int' object is not iterable |
Der Typfehler zeigt, dass das Integer nicht iterierbar ist. Aus diesem Grund kann die Konvertierung nicht stattfinden. Ein komplizierter Weg wäre, zuerst das Integer in einen String und dann in ein Tupel zu konvertieren. Dies könnten Sie mit der folgenden Funktion tun: tuple(str(5000)). Wir empfehlen jedoch, solche Komplikationen zu vermeiden.
-
Konvertierung: Tupel in Listen
Im Gegenteil dazu müssen Sie möglicherweise ein Tupel in eine Liste konvertieren, wenn Sie veränderliche Daten benötigen. Zu diesem Zweck verwenden Sie die list()-Funktion wie folgt:
|
1 |
print(list(('Blaue Koralle', 'Geweihkoralle', 'Säulenkoralle'))) |
|
1 2 3 |
Ausgabe ['Blaue Koralle', 'Geweihkoralle', 'Säulenkoralle'] |
Das Vorhandensein der eckigen Klammern zeigt an, dass die resultierende Ausgabe ein Tupel ist. Wenn Sie den Code schreiben, um ein Tupel mit list() in eine Liste zu konvertieren, müssen Sie sicherstellen, dass Sie Klammern für die list()-Methode sowie die print()-Methode einschließen. Dies macht den Code jedoch etwas unleserlich. Um es weniger kompliziert zu machen, können Sie ein Paar Klammern entfernen, indem Sie stattdessen eine Variable verwenden:
|
1 2 3 |
coral = ('Blaue Koralle', 'Geweihkoralle', 'Säulenkoralle') list(coral) |
Ähnlich wie bei Tupeln können Sie auch Strings direkt in Listen umwandeln:
|
1 |
print(list('shark')) |
|
1 2 3 |
Ausgabe ['s', 'h', 'a', 'r', 'k'] |
Fazit
Diese Anleitung wird Ihnen helfen, wenn Sie nach Möglichkeiten suchen, Datentypen in Python 3 zu konvertieren. Wir haben die verschiedenen Datentypen und deren Konvertierung ineinander mithilfe von integrierten Python-Funktionen ausführlich besprochen. Die Kenntnis dieser Konvertierungen wird Ihre Programmiererfahrung erheblich erleichtern und vertiefen.
Um weitere Möglichkeiten mit Python zu erkunden, folgen Sie unseren anderen Anleitungen:
- Sehen Sie sich an, wie man Python 3 installiert und eine lokale Programmierumgebung auf Ubuntu 16.04 einrichtet.
- Erfahren Sie, wie man Twitter-Daten mit Python extrahiert.
- Lernen Sie, wie man NASDAQ-Minutendaten mit Python abruft.
- Sie können sich auch ansehen, wie man das CloudSigma-Python-Skript nutzt, um die Konvertierung eines Laufwerk-Snapshots in ein vollständiges Laufwerk auf unserer Plattform zu automatisieren.
Viel Spaß beim Programmieren!
Kommentare
Noch keine Kommentare. Schreiben Sie den ersten.