Retour au blog

Python 3 : Guide sur la conversion des types de données

Python 3 : Guide sur la conversion des types de données

Introduction

Python est un langage de programmation qui est souvent utilisé à des fins d'intégration de systèmes. Ce langage utilise ce que l'on appelle ‘types de données’. Ces types de données aident à classifier ou à définir un type de données donné. Cela signifie qu'un type de données particulier se rapporte à des valeurs et des opérations spécifiques que vous pouvez lui appliquer. Chaque type de données est programmé et édité d'une manière différente. C'est parce que chaque type de données a une nature différente. Par exemple, vous pouvez avoir affaire à des chaînes de caractères ou à des entiers.

Le but de ce guide est de vous aider à vous familiariser avec les différents types de données en Python. De plus, nous aurons également une discussion approfondie sur la manière de convertir les types de données les uns en les autres. À la fin de ce tutoriel, vous devriez connaître les types de données tels que les nombres, les chaînes de caractères, les tuples et les listes, et comment les convertir.

Conversion de nombres

Lorsque nous parlons de nombres en Python, nous pouvons faire référence à l'une des deux options suivantes. Nous pouvons avoir affaire soit à des entiers ou à des flottants. Il peut arriver que vous ayez besoin de convertir l'un en l'autre. Il vous est possible de convertir facilement des entiers en nombres à virgule flottante et des flottants en entiers.

  • Conversion : des entiers vers les flottants

Tout d'abord, nous allons commencer par explorer comment vous pouvez convertir des entiers en flottants. Le moyen de le faire est d'utiliser une commande appelée float(). Cette fonction convertira n'importe quel entier donné en un flottant avec des décimales. Tout ce que vous avez à faire est de placer l'entier entre les parenthèses. Par exemple, supposons que vous vouliez convertir l'entier 57 en un type de données flottant. Voici comment vous procéderiez pour le convertir :

Suite à l'exécution de cette commande, l'entier 57 se transformera en flottant 57.0.

Une autre façon de procéder consisterait à utiliser une variable. Vous pouvez désigner votre entier par une variable, puis afficher le flottant avec la commande ci-dessus. Disons que vous déclarez la variable f comme étant égale à 57. Voici comment se déroulerait la conversion dans ce cas :

  • Conversion : des flottants vers les entiers

Il vous est également possible de convertir des flottants en entiers. Semblable à la commande précédente, cette conversion peut être effectuée à l'aide de la fonction int(). Tout comme la dernière fois, tout ce que vous avez à faire est d'ajouter le nombre à virgule flottante entre les parenthèses qui suivent la fonction.

Dans notre exemple, nous allons convertir le flottant 390 en un entier. Pour effectuer la conversion, nous exécuterions la commande suivante :

Suite à l'exécution de cette fonction, 390 se transformera en sa forme flottante : 390.8.

De même, vous pouvez effectuer la conversion à l'aide de variables. De plus, vous pouvez effectuer plusieurs conversions en même temps. Supposons que b est égal à 125.0 et c est égal à 390.8. Voici comment vous afficheriez ces valeurs à virgule flottante :

Comme vous pouvez le voir, les entiers se sont transformés avec succès en flottants.

Une chose importante à retenir lors de la conversion de flottant en entier est que la fonction n'arrondit pas les valeurs. Cela signifie que la partie décimale du flottant est simplement supprimée. La fonction n'arrondira pas une valeur comme 390.8 à 390 - elle supprimera simplement les 0.8 unités pour vous donner un entier.

  • Conversion : par division

Il vous est également possible de convertir des entiers en flottants par division. Diviser des entiers entre eux peut vous donner un quotient qui est un nombre à virgule flottante. Par exemple, en divisant 5 par 2, la réponse que vous obtiendrez sera 2.5, ce qui est un flottant. Regardez :

Il s'agit d'une fonctionnalité spéciale de Python 3. En Python 2, effectuer une telle division vous donnerait uniquement un entier comme réponse, comme ceci : 5 / 2 = 2.

Conversion avec des chaînes de caractères

Avant de commencer à parler de la manière d'effectuer une conversion avec des chaînes de caractères, vous devez savoir ce que sont réellement les chaînes de caractères. Si ce n'est pas déjà le cas, les chaînes sont des séquences de caractères. Il peut s'agir d'une chaîne de lettres, de chiffres, de symboles ou de tout autre caractère. Vous connaissez peut-être les chaînes de caractères en association avec les données informatiques. C'est parce que les ordinateurs utilisent fréquemment ce type de données pour effectuer leurs opérations.

Si vous traitez des données générées par l'utilisateur, vous devrez souvent effectuer ces conversions. C'est pourquoi il est utile de savoir comment transformer des nombres en chaînes et convertir des chaînes en nombres.

  • Conversion : Des nombres aux chaînes de caractères

Vous pouvez utiliser la fonction str() pour convertir des nombres en chaînes de caractères. Comme précédemment, vous placerez la valeur que vous souhaitez convertir entre parenthèses. Cette valeur peut être un nombre ou une variable. Pour commencer, voyons comment vous convertiriez un entier, tel que 12, en une valeur de chaîne de caractères :

Comme vous pouvez le voir, la sortie affiche une valeur de chaîne de caractères. La valeur de la chaîne est indiquée par les guillemets.

D'un autre côté, vous pouvez également placer des variables dans la fonction au lieu d'entiers. C'est là que la fonction devient vraiment utile. Par exemple, imaginez que vous souhaitiez suivre et signaler le nombre de lignes de code qu'un utilisateur écrit dans un laps de temps donné. Pour afficher cette information à l'utilisateur, vous devez afficher à la fois la chaîne et les valeurs entières, comme ceci :

Malheureusement, si vous essayez d'exécuter le code ci-dessus, vous recevrez une erreur comme celle-ci :

concatenation error

Cela signifie que vous devez convertir la variable lines en une valeur de chaîne de caractères pour pouvoir exécuter le code.

Maintenant que vous avez placé la fonction de conversion, vous pourrez exécuter la commande avec succès. Vous verrez quelque chose comme ce qui suit en sortie :

De même, si vous souhaitez ajouter un flottant au lieu d'un entier à une chaîne, vous devez faire la même chose. Comme précédemment, vous pouvez soit ajouter la valeur directement, soit utiliser une variable. Par exemple :

Si vous voulez vous assurer que la valeur est correcte, vous pouvez la concaténer avec une chaîne comme ceci :

Puisque vous n'avez pas reçu d'erreur, cela signifie que la conversion a réussi.

  • Conversion : Des chaînes de caractères aux nombres

De même, vous pouvez également convertir des chaînes en nombres. Si votre chaîne n'a pas de décimales, il est préférable de la convertir en un entier. Vous pouvez la convertir en entiers à l'aide de la fonction int().

Nous continuerons à utiliser notre exemple précédent de conversion d'entiers. Ainsi, considérons qu'un utilisateur nommé Sammy souhaite suivre quotidiennement sa progression dans l'écriture de code. En tant que programmeur, vous souhaitez présenter cette information à l'utilisateur de manière créative. Mais comme ces valeurs sont stockées sous forme de chaînes, vous ne pouvez pas leur appliquer certains opérandes de base comme – (soustraction). Vous pouvez le constater dans ce qui suit :

unsupported operand

Comme vous pouvez le voir, l'opérande ne fonctionne pas sur les valeurs de chaîne. À la place, vous recevez une erreur. Pour pouvoir travailler avec les valeurs, vous devez convertir les chaînes en entiers à l'aide de la fonction int().

Ici, lines_more est une variable. Cette variable est un entier et est égale à la valeur résultante qui, dans notre exemple, est 58.

D'un autre côté, vous pouvez convertir les chaînes en floats en utilisant la float() fonction s'il y a des décimales. Dans cet exemple, nous utiliserons les points que l'utilisateur Sammy gagne, par opposition au nombre de lignes qu'il écrit. Les points sont attribués avec des décimales :

Bien que la sortie ne se présente pas comme une erreur, elle n'est toujours pas correcte. L'opérande + ou l'addition a fonctionné dans ce cas. Mais au lieu d'additionner les deux nombres, il a simplement placé les deux valeurs de chaîne l'une à côté de l'autre.

C'est pourquoi vous devez d'abord convertir ces chaînes en valeurs de type float en utilisant la float() fonction :

Comme vous pouvez l'observer ci-dessus, les deux valeurs sont additionnées. Rappelez-vous : si vous essayez de convertir une valeur de chaîne en décimales en un entier, vous obtiendrez une erreur comme celle-ci :

cast error

Par conséquent, vous devez d'abord convertir le type de données chaîne en nombres. Ensuite, vous pouvez effectuer d'autres opérations et des conversions sur la valeur numérique en toute simplicité.

Conversion en tuples et listes

Les listes et les tuples sont quelques autres types de données que vous pouvez utiliser en Python 3. Tous deux consistent en une séquence d'éléments. La différence entre les deux est que là où une liste est modifiable, un tuple est immuable. De plus, là où les éléments d'une liste sont placés entre crochets [ ], ceux d'un tuple sont placés entre parenthèses ( ).

  • Conversion : des listes aux tuples

Tout d'abord, découvrons comment vous pouvez convertir une liste en tuple. Vous pouvez avoir besoin d'effectuer cette conversion si vous avez besoin d'un type de données immuable. À cette fin, vous devrez utiliser la fonction tuple():

Comme vous pouvez le voir, les éléments de la liste sont maintenant dans un tuple. Cela est indiqué par les parenthèses qui entourent les éléments.

Vous pouvez également utiliser la tuple() fonction avec une variable qui équivaut à la liste d'éléments :

Pratiquement, vous pouvez convertir n'importe quel type de données en un tuple. Par exemple, voici comment vous convertiriez une chaîne en un tuple :

Les chaînes peuvent être converties en tuples car elles sont itérables. Naturellement, les types de données non itérables ne peuvent pas être convertis en tuples. Supposons que vous souhaitiez convertir des entiers ou un float en tuple. Si vous deviez exécuter la fonction tuple() fonction, vous recevrez une erreur comme celle-ci :

L'erreur de type montre que l'entier n'est pas itérable. C'est pourquoi la conversion ne peut pas avoir lieu. Une méthode complexe consisterait à convertir d'abord l'entier en une chaîne de caractères, puis en un tuple. Vous pourriez faire cela avec la fonction suivante : tuple(str(5000)). Mais nous vous recommandons d'éviter de telles complications.

  • Conversion : des tuples aux listes

Au contraire, vous devrez peut-être convertir un tuple en liste si vous avez besoin de données mutables. À cette fin, vous utiliserez la fonction list() comme ceci :

La présence des crochets indique que la sortie résultante est un tuple. Lorsque vous écrivez le code pour convertir un tuple en liste à l'aide de list(), vous devez vous assurer d'inclure des parenthèses pour la méthode list() ainsi que pour la méthode print(). Cependant, cela rend le code un peu illisible. Pour le rendre moins compliqué, vous pouvez supprimer une paire de parenthèses en utilisant une variable à la place :

Tout comme pour les tuples, vous pouvez également convertir directement des chaînes de caractères en listes :

Conclusion

Ce guide vous aidera si vous cherchez des moyens de convertir des types de données en Python 3. Nous avons examiné en détail les différents types de données et comment ils peuvent être convertis les uns dans les autres à l'aide de fonctions Python intégrées. Connaître ces conversions facilitera grandement votre expérience de programmation et la rendra plus complète.

Pour explorer plus en détail ce que vous pouvez faire avec Python, suivez nos autres guides :

Bonne programmation !

author

Akshay Nagpal

Auteur · CloudSigma

Preslav Dobrev est un designer créatif chez CloudSigma, axé sur une identité commerciale cohérente à travers des canaux marketing traditionnels et innovants. Il excelle à fusionner la vision artistique avec le marketing stratégique pour créer des récits de marque percutants.

Commentaires

Aucun commentaire pour l'instant. Soyez le premier.