Conversion de type et conversion de type en Python expliquées avec des exemples

Publié: 2020-02-19

Python a de nombreux types de données, et en tant que programmeur, vous devez savoir comment convertir un type de données de Python en un autre. Python a de nombreuses fonctions intégrées pour cette tâche. Et dans ce guide simple, nous les examinerons pour vous aider à mieux comprendre les conversions de type.

Une fois que vous aurez terminé avec ce guide, vous saurez comment convertir des chaînes en nombres entiers et vice versa. Alors sans plus tarder, commençons.

Table des matières

Types de données en Python

Avant de commencer notre discussion sur la conversion de type en Python, examinons brièvement tous les types de données présents dans ce langage :

Entiers

Les valeurs entières peuvent être aussi longues que vous le souhaitez. Comme en mathématiques, les nombres entiers en Python sont aussi des chiffres. Mais vous ne pouvez pas avoir d'entiers indéfiniment longs à moins d'avoir un supercalculateur. Python traite tout nombre sans préfixe comme un entier. Ces nombres incluent également des chiffres décimaux.

Nombres à virgule flottante

Les flottants en Python sont des nombres qui sont écrits avec un point décimal pour séparer les chiffres fractionnaires et l'entier. Quelques exemples de nombres à virgule flottante sont 4.3, 9.18, etc. Vous pouvez également ajouter 'e' pour la notation scientifique en Python.

Nombres complexes

Les nombres complexes en Python suivent ce format : (la partie réelle + la partie imaginaire). Quelques exemples de nombres complexes sont (3+2i), (8-2x), etc.

Cordes

Les chaînes peuvent être n'importe quel ensemble particulier de caractères en Python. Ils sont appelés str. Vous pouvez les écrire en utilisant des guillemets. Vous pouvez utiliser des guillemets simples ainsi que des guillemets doubles pour écrire des chaînes en Python. Les chaînes peuvent être n'importe quel caractère placé entre guillemets, tel que "91", "hello", etc.

Tout comme les entiers, il n'y a pas de limite à la longueur des caractères dans les chaînes. Les chaînes sont de différents types, telles que les chaînes entre guillemets triples, les chaînes brutes et bien d'autres. Cependant, si nous commencions à discuter des chaînes et de leurs types, cet article serait trop long.

Type de données booléen

Le dernier type de données qu'il nous reste à discuter est le type de données booléen. Les données booléennes peuvent avoir l'une des deux valeurs, qui sont vraies et fausses. Les valeurs booléennes sont assez essentielles en Python pour de nombreuses raisons. Vous pouvez utiliser des valeurs booléennes pour déterminer la véracité des objets et des valeurs.

Lis: Salaire d'un développeur Python en Inde 2020

Au fur et à mesure que vous en apprendrez plus sur les opérateurs logiques en Python, vous devrez gérer des objets et des valeurs booléennes.

Il s'agissait donc de tous les types de données présents dans Python. En savoir plus sur les types de données dans Python. Outre ces types de données, Python possède également de nombreuses fonctions intégrées, qui l'aident à effectuer diverses tâches. Nous devrons également utiliser quelques fonctions intégrées pour implémenter la conversion de type. Consultez nos programmes de science des données pour en savoir plus sur les différents types de conversions.

Maintenant que nous avons discuté des types de données, nous pouvons passer à la conversion de type.

Différents types de conversions de types en Python

Il existe deux types de conversions de type en Python. Ce sont les suivants :

Implicite

Dans ce cas, Python convertit automatiquement un type de données en un autre type. Vous, l'utilisateur, n'avez pas à vous impliquer dans ce processus. Voici un exemple de conversion implicite d'entier en flottant en Python :

nombre_int = 18

nombre_flo = 1,8

num_new = num_int + num_flo

print("type de données de num_int :",type(num_int))

print(“type de données de num_flo:”,type(num_flo))

print("Valeur de num_new :",num_new)

print("type de données de num_new :",type(num_new))

La sortie du code ci-dessus serait la suivante :

type de données de num_int : <class 'int'>

type de données de num_flo : <class 'float'>

Valeur de num_new : 19,8

type de données de num_new : <class 'float'>

Comme vous pouvez le voir, nous n'avons eu qu'à ajouter num_flo et num_int avec num_new pour obtenir la sortie souhaitée. Nous avons converti l'entier 18 en un flottant 19,8 en quelques lignes de code. La chose essentielle à noter ici est que Python a automatiquement transformé l'entier en float.

Explicite

Dans le cas d'une conversion de type explicite, nous utilisons des fonctions à des fins de conversion. Vous souvenez-vous des fonctions intégrées que nous avons mentionnées précédemment ? Ils vous seront utiles dans cette section. Un autre nom pour les conversions de type explicites est le transtypage. Il porte ce nom car vous, l'utilisateur, transtypez le type de données de l'objet concerné.

Il existe certaines fonctions de conversion de type que vous devriez connaître pour effectuer un transtypage en Python. Int(a,base) est une fonction populaire car elle peut convertir n'importe quel type de données en entier. float() peut transformer n'importe quel type de données en un nombre à virgule flottante. oct() convertit les entiers en chaînes octales et hex() convertit les entiers en chaînes hexadécimales.

Voici un exemple de conversion de type utilisant oct() :

c = oct(80)

print ("Sortie : ",end="")

impression (c)

Et la sortie serait:

Sortie : 0o120

Lorsque vous travaillez avec ces fonctions, rappelez-vous que la syntaxe d'une telle conversion doit être :

(type_de_données_désiré)(expression)

Il existe de nombreux types de conversions de type que vous pouvez effectuer en Python. Cependant, il en existe deux types, que vous exécuterez le plus. La conversion de chaînes en nombres entiers et vice versa peut être un excellent point de départ. Discutons donc séparément de chacune de ces conversions de type pour une meilleure compréhension de ce sujet :

Lire : Idées et sujets de projet de développeur Python

Conversion de String en Python int

Vous pouvez convertir une chaîne en int Python via la fonction int(). Il vous donne un entier décimal en un seul clic. Il suppose que l'expression que vous avez entrée est un entier décimal, mais si ce n'est pas le cas, il renverra une ValueError. Et nous ne voulons pas cela. Vous pouvez mentionner le système de numération dont vous avez besoin en donnant à la valeur une base pour éviter ce problème.

Donc, si vous convertissez une chaîne en int en Python, vous pouvez faire ceci :

int("5")

Vous pouvez également ajouter une base pour différents types de chaînes :

entier("5" , base=10)

Parlons maintenant de l'inverse de cette conversion, c'est-à-dire lorsque vous devez convertir un entier en une chaîne.

Conversion int en String Python

Vous pouvez utiliser la fonction str() pour convertir des entiers en chaînes. Suivez simplement la syntaxe que nous avons mentionnée précédemment :

chaîne(5)

Les chaînes peuvent convertir des entiers en expressions décimales si vous utilisez un littéral binaire. Cependant, tout comme avec la fonction int, si vous en avez besoin, vous pouvez ajouter plus d'informations pour différentes conversions. Vous pouvez obtenir des résultats octaux, binaires et même hexadécimaux avec cette fonction.

Après un peu de pratique, vous pouvez également effectuer des tâches plus complexes avec la conversion de type. Voici un exemple d'ajout d'une chaîne avec un entier via le transtypage :

nombre_int = 256

num_str = "64"

print("Type de données de num_int :",type(num_int))

print("Type de données de num_str avant la conversion de type :",type(num_str))

num_str = int(num_str)

print("Type de données de num_str après la conversion de type :",type(num_str))

num_sum = num_int + num_str

print("Somme de num_int et num_str :",num_sum)

print("Type de données de la somme :",type(num_sum))

La sortie du code ci-dessus serait ceci:

Type de données de num_int : <class 'int'>

Type de données de num_str avant la conversion de type : <class 'str'>

Type de données de num_str après conversion de type : <class 'int'>

Somme de num_int et num_str : 320

Type de données de la somme : <class 'int'>

Comme vous pouvez le voir, c'est très amusant. N'hésitez pas à expérimenter les conversions de type et à élargir votre base de connaissances.

Conclusion

Nous espérons que cet article vous a beaucoup appris. Effectuer des conversions de type est l'une des nombreuses choses que vous pouvez faire avec les fonctions de Python.

Si vous lisez cet article, vous avez très probablement l'ambition de devenir développeur Python. Si vous êtes intéressé à apprendre python et que vous voulez vous salir les mains sur divers outils et bibliothèques, consultez le diplôme PG en science des données de l'IIIT-B.

En codage, en quoi les conversions explicites sont-elles différentes des conversions implicites ?

Une conversion de type implicite est une conversion de type qui est définie par l'utilisateur et oblige une expression à être d'un certain type. Lorsque plusieurs types de données sont combinés dans une expression, le compilateur effectue une conversion de type implicite. La conversion explicite, également connue sous le nom de casting, consiste à convertir explicitement d'un type de données à un autre en exécutant la fonction appropriée pour le type de données vers lequel nous souhaitons convertir. Sans l'aide du programmeur, une conversion de type implicite est accomplie.

En quoi la conversion de type est-elle différente de la conversion de type ?

Le type de données de destination doit être plus petit que le type de données source lors de la conversion d'un type de données en un autre. Cependant, les données source doivent être plus petites que le type de données de destination lors de la conversion d'un type de données en un autre. Un programmeur doit transtyper manuellement un type de données dans un autre type. La conversion d'un type de données en un autre n'implique aucune intervention du programmeur car le compilateur le compile automatiquement lors de l'exécution du programme. Il est possible que des données ou des informations soient perdues lors de la conversion de type. Lors de la conversion d'un petit type de données en un grand type de données, il est peu probable que des données soient perdues.

Qu'est-ce qui est le plus efficace dans les tuples Python ou les listes ?

Un tuple est une collection d'objets Python séparés par des virgules et en raison de sa nature statique, le tuple est plus rapide que la liste. Les tuples sont également plus efficaces en termes de mémoire que les listes. En ce qui concerne l'efficacité temporelle, les tuples ont un avantage mineur sur les listes, en particulier lorsqu'il s'agit de rechercher une valeur. Si vous avez des données qui ne sont pas censées être modifiées en premier lieu, un type de données tuple doit être préféré à une liste. Nous pouvons faire une liste de tuples, ce qui signifie que les membres du tuple peuvent être enveloppés dans une liste et donc suivre les mêmes caractéristiques qu'une liste Python. Étant donné que les tuples Python occupent moins d'espace, la construction d'une liste de tuples est plus pratique.