Typkonvertierung und Typumwandlung in Python mit Beispielen erklärt

Veröffentlicht: 2020-02-19

Python hat viele Datentypen, und als Programmierer sollten Sie wissen, wie man einen Datentyp von Python in einen anderen umwandelt. Python hat viele eingebaute Funktionen für diese Aufgabe. Und in dieser einfachen Anleitung werfen wir einen Blick darauf, damit Sie Typumwandlungen besser verstehen.

Nachdem Sie mit dieser Anleitung fertig sind, wissen Sie, wie Sie Zeichenfolgen in ganze Zahlen umwandeln und umgekehrt. Also, ohne weitere Umschweife, fangen wir an.

Inhaltsverzeichnis

Datentypen in Python

Bevor wir mit unserer Diskussion über die Typkonvertierung in Python beginnen, werfen wir einen kurzen Blick auf alle Datentypen, die in dieser Sprache vorhanden sind:

Ganze Zahlen

Ganzzahlwerte können beliebig lang sein. Wie in der Mathematik sind auch Integer in Python Ziffern. Aber Sie können keine unendlich langen Ganzzahlen haben, es sei denn, Sie haben einen Supercomputer. Python behandelt jede Zahl ohne Präfix als ganze Zahl. Diese Zahlen enthalten auch Dezimalziffern.

Gleitkommazahlen

Floats in Python sind Zahlen, die mit einem Dezimalpunkt geschrieben werden, um die Nachkommastellen und die Ganzzahl zu trennen. Einige Beispiele für Fließkommazahlen sind 4,3, 9,18 usw. Sie können in Python auch ein „e“ für die wissenschaftliche Notation hinzufügen.

Komplexe Zahlen

Komplexe Zahlen in Python folgen diesem Format: (Realteil + Imaginärteil). Einige Beispiele für komplexe Zahlen sind (3+2i), (8-2x) usw.

Saiten

Zeichenfolgen können in Python ein bestimmter Satz von Zeichen sein. Sie werden als str bezeichnet. Sie können sie schreiben, indem Sie Anführungszeichen verwenden. Sie können sowohl einfache als auch doppelte Anführungszeichen zum Schreiben von Zeichenfolgen in Python verwenden. Zeichenfolgen können beliebige Zeichen sein, die in Anführungszeichen gesetzt werden, z. B. „91“, „Hallo“ usw.

Genau wie bei Ganzzahlen gibt es bei Strings keine Begrenzung der Zeichenlänge. Es gibt verschiedene Arten von Zeichenfolgen, wie z. B. Zeichenfolgen mit dreifachen Anführungszeichen, unformatierte Zeichenfolgen und viele andere. Wenn wir jedoch anfangen würden, Saiten und ihre Arten zu diskutieren, würde dieser Artikel zu lang werden.

Boolescher Datentyp

Der letzte Datentyp, den wir noch besprechen müssen, ist der boolesche Datentyp. Boolesche Daten können einen von zwei Werten haben, die wahr und falsch sind. Boolesche Werte sind in Python aus vielen Gründen sehr wichtig. Sie können boolesche Werte verwenden, um die Wahrhaftigkeit von Objekten und Werten zu bestimmen.

Lesen Sie: Gehalt für Python-Entwickler in Indien 2020

Wenn Sie mehr über logische Operatoren in Python erfahren, müssen Sie sich mit booleschen Objekten und Werten befassen.

Das waren also alle Datentypen, die in Python vorhanden sind. Erfahren Sie mehr über die Datentypen in Python. Abgesehen von diesen Datentypen verfügt Python auch über viele integrierte Funktionen, die ihm bei der Ausführung einer Vielzahl von Aufgaben helfen. Wir müssen auch einige eingebaute Funktionen verwenden, um die Typkonvertierung zu implementieren. Sehen Sie sich unsere Data-Science-Programme an, um mehr über verschiedene Arten von Conversions zu erfahren.

Nachdem wir nun Datentypen besprochen haben, können wir uns der Typkonvertierung zuwenden.

Verschiedene Arten von Typkonvertierungen in Python

Es gibt zwei Arten von Typkonvertierungen in Python. Sie sind die folgenden:

Implizit

In diesem Fall konvertiert Python einen Datentyp automatisch in einen anderen Typ. Sie als Benutzer müssen sich in diesen Prozess nicht einmischen. Hier ist ein Beispiel für die implizite Konvertierung von Integer in Float in Python:

num_int = 18

num_flo = 1,8

num_new = num_int + num_flo

print("Datentyp von num_int:",type(num_int))

print("Datentyp von num_flo:",type(num_flo))

print(“Wert von num_new:“,num_new)

print("Datentyp von num_new:",type(num_new))

Die Ausgabe des obigen Codes wäre die folgende:

Datentyp von num_int: <class 'int'>

Datentyp von num_flo: <class 'float'>

Wert von num_new: 19,8

Datentyp von num_new: <class 'float'>

Wie Sie sehen, mussten wir nur num_flo und num_int zusammen mit num_new hinzufügen, um die gewünschte Ausgabe zu erhalten. Wir haben die Ganzzahl 18 durch ein paar Codezeilen in eine Gleitkommazahl 19,8 umgewandelt. Das Wichtigste, was hier zu beachten ist, ist, dass Python die Ganzzahl automatisch in Float umgewandelt hat.

Explizit

Bei der expliziten Typkonvertierung verwenden wir Funktionen zur Konvertierung. Erinnern Sie sich an die integrierten Funktionen, die wir zuvor erwähnt haben? Sie werden sich in diesem Abschnitt als nützlich erweisen. Ein anderer Name für explizite Typkonvertierungen ist Typecasting. Es hat diesen Namen, weil Sie als Benutzer den Datentyp des betreffenden Objekts umwandeln.

Es gibt einige Typkonvertierungsfunktionen, mit denen Sie vertraut sein sollten, um Typumwandlungen in Python durchzuführen. Int(a,base) ist eine beliebte Funktion, da sie jeden Datentyp in eine ganze Zahl umwandeln kann. float() kann jeden Datentyp in eine Fließkommazahl umwandeln. oct() wandelt ganze Zahlen in oktale Strings um und hex() wandelt ganze Zahlen in hexadezimale Strings um.

Hier ist ein Beispiel für die Typkonvertierung mit oct():

c = okt(80)

print („Ausgabe : „,end=““)

drucken (c)

Und die Ausgabe wäre:

Ausgang: 0o120

Denken Sie bei der Arbeit mit diesen Funktionen daran, dass die Syntax für eine solche Konvertierung wie folgt sein sollte:

(gewünschter_Datentyp)(Ausdruck)

Es gibt viele Arten von Typkonvertierungen, die Sie in Python durchführen können. Es gibt jedoch zwei Arten von ihnen, die Sie am häufigsten ausführen werden. Das Konvertieren von Strings in Ganzzahlen und umgekehrt kann ein guter Ausgangspunkt sein. Lassen Sie uns also jede dieser Typkonvertierungen separat besprechen, um dieses Thema besser zu verstehen:

Lesen Sie: Ideen und Themen für Python-Entwicklerprojekte

Konvertieren von String in int Python

Sie können einen String mit der Funktion int() in int Python umwandeln. Es gibt Ihnen mit nur einem Klick eine Dezimalzahl. Es wird davon ausgegangen, dass der von Ihnen eingegebene Ausdruck eine Dezimalzahl ist, aber wenn dies nicht der Fall ist, wird ein ValueError zurückgegeben. Und das wollen wir nicht. Sie können das gewünschte Zahlensystem angeben, indem Sie dem Wert eine Basis geben, um dieses Problem zu vermeiden.

Wenn Sie also eine Zeichenfolge in Python in int konvertieren, können Sie Folgendes tun:

int("5")

Oder Sie können eine Basis für verschiedene Arten von Saiten hinzufügen:

int("5" , Basis=10)

Lassen Sie uns nun die Umkehrung dieser Umwandlung besprechen, dh wenn Sie eine Ganzzahl in einen String umwandeln müssen.

Konvertieren von int in String Python

Sie können die Funktion str() verwenden, um ganze Zahlen in Zeichenfolgen umzuwandeln. Folgen Sie einfach der zuvor erwähnten Syntax:

str(5)

Strings können ganze Zahlen in Dezimalausdrücke umwandeln, wenn Sie ein binäres Literal verwenden. Genau wie bei der int-Funktion können Sie jedoch bei Bedarf weitere Informationen für verschiedene Konvertierungen hinzufügen. Mit dieser Funktion können Sie oktale, binäre und sogar hexadezimale Ergebnisse erhalten.

Mit etwas Übung können Sie auch komplexere Aufgaben mit der Typkonvertierung durchführen. Hier ist ein Beispiel für das Hinzufügen einer Zeichenfolge mit einer Ganzzahl durch Typumwandlung:

num_int = 256

num_str = "64"

print("Datentyp von num_int:",type(num_int))

print(“Datentyp von num_str vor Type Casting:“,type(num_str))

num_str = int(num_str)

print(“Datentyp von num_str nach Type Casting:“,type(num_str))

num_sum = num_int + num_str

print(“Summe von num_int und num_str:“,num_sum)

print("Datentyp der Summe:",type(num_sum))

Die Ausgabe des obigen Codes wäre dies:

Datentyp von num_int: <class 'int'>

Datentyp von num_str vor Type Casting: <class 'str'>

Datentyp von num_str nach Type Casting: <class 'int'>

Summe von num_int und num_str: 320

Datentyp der Summe: <class 'int'>

Wie Sie sehen können, macht es viel Spaß. Experimentieren Sie ruhig mit Typumwandlungen und erweitern Sie Ihre Wissensbasis.

Fazit

Wir hoffen, dass Sie viel aus diesem Artikel gelernt haben. Das Durchführen von Typkonvertierungen ist eines der vielen Dinge, die Sie mit den Funktionen von Python tun können.

Wenn Sie diesen Artikel lesen, haben Sie höchstwahrscheinlich Ambitionen, Python-Entwickler zu werden. Wenn Sie daran interessiert sind, Python zu lernen und sich mit verschiedenen Tools und Bibliotheken vertraut machen möchten, sehen Sie sich das PG Diploma in Data Science des IIIT-B an.

Wie unterscheiden sich beim Codieren explizite Konvertierungen von impliziten Konvertierungen?

Eine implizite Typkonvertierung ist eine Typkonvertierung, die vom Benutzer definiert wird und einen bestimmten Typ eines Ausdrucks erzwingt. Wenn mehrere Datentypen in einem Ausdruck kombiniert werden, führt der Compiler eine implizite Typkonvertierung durch. Explizite Konvertierung, auch bekannt als Casting, ist, wenn wir explizit von einem Datentyp in einen anderen konvertieren, indem wir die entsprechende Funktion für den Datentyp ausführen, in den wir konvertieren möchten. Ohne Zutun des Programmierers wird eine implizite Typkonvertierung durchgeführt.

Wie unterscheidet sich die Typumwandlung von der Typkonvertierung?

Der Zieldatentyp muss kleiner sein als der Quelldatentyp, wenn ein Datentyp in einen anderen umgewandelt wird. Die Quelldaten müssen jedoch kleiner sein als der Zieldatentyp, wenn ein Datentyp in einen anderen konvertiert wird. Ein Programmierer muss eine Art von Daten manuell in eine andere Art umwandeln. Das Konvertieren eines Datentyps in einen anderen erfordert keinen Eingriff des Programmierers, da der Compiler ihn während der Programmausführung automatisch kompiliert. Es besteht die Möglichkeit, dass Daten oder Informationen während des Typcastings verloren gehen. Beim Konvertieren eines kleinen Datentyps in einen großen Datentyp ist es unwahrscheinlich, dass Daten verloren gehen.

Was ist effizienter in Python-Tupeln oder Listen?

Ein Tupel ist eine durch Kommas getrennte Sammlung von Python-Objekten, und aufgrund seiner statischen Natur ist das Tupel schneller als die Liste. Tupel sind auch speichereffizienter als Listen. Wenn es um Zeiteffizienz geht, haben Tupel einen kleinen Vorteil gegenüber Listen, insbesondere wenn es darum geht, nach oben zu einem Wert zu suchen. Wenn Sie Daten haben, die überhaupt nicht geändert werden sollen, sollte ein Tupel-Datentyp einer Liste vorgezogen werden. Wir können eine Liste von Tupeln erstellen, was bedeutet, dass die Mitglieder des Tupels in eine Liste eingeschlossen werden können und daher denselben Merkmalen wie eine Python-Liste folgen. Da Python-Tupel weniger Platz beanspruchen, ist das Erstellen einer Liste von Tupeln praktischer.