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 :
|
1 |
float(57) |
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 :
|
1 2 3 |
f = 57 print(float(f)) |
|
1 2 3 |
Sortie 57.0 |
-
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 :
|
1 |
int(390.8) |
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 :
|
1 2 3 4 5 |
b = 125.0 c = 390.8 print(int(b)) print(int(c)) |
|
1 2 3 4 |
Sortie 125 390 |
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 :
|
1 2 |
a = 5 / 2 print(a) |
|
1 2 3 |
Sortie 2.5 |
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 :
|
1 |
str(12) |
|
1 2 3 |
Sortie '12' |
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 :
|
1 2 3 4 |
user = "Sammy" lines = 50 print("Félicitations, " + user + " ! Vous venez d'écrire " + lines + " lignes de code.") |
Malheureusement, si vous essayez d'exécuter le code ci-dessus, vous recevrez une erreur comme celle-ci :

Cela signifie que vous devez convertir la variable lines en une valeur de chaîne de caractères pour pouvoir exécuter le code.
|
1 2 3 4 |
user = "Sammy" lines = 50 print("Félicitations, " + user + " ! Vous venez d'écrire " + str(lines) + " lignes de 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 :
|
1 2 3 |
Sortie Félicitations, Sammy! Vous venez de écrire 50 lignes de code. |
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 :
|
1 2 3 |
print(str(421.034)) f = 5524.53 print(str(f)) |
|
1 2 3 4 |
Sortie 421.034 5524.53 |
Si vous voulez vous assurer que la valeur est correcte, vous pouvez la concaténer avec une chaîne comme ceci :
|
1 2 |
f = 5524.53 print("Sammy a " + str(f) + " points.") |
|
1 2 3 |
Sortie Sammy a 5524.53 points. |
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 :
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = lines_today - lines_yesterday print(lines_more) |

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().
|
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 |
Sortie 58 |
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 :
|
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 |
Sortie 5524.5345.30 |
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 :
|
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 |
Sortie 5569.83 |
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 :
|
1 2 |
f = "54.23" print(int(f)) |

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():
|
1 |
print(tuple(['pull request', 'open source', 'repository', 'branch'])) |
|
1 2 3 |
Sortie ('pull request', 'open source', 'repository', 'branch') |
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 :
|
1 2 3 |
sea_creatures = ['shark', 'cuttlefish', 'squid', 'mantis shrimp'] print(tuple(sea_creatures)) |
|
1 2 3 |
Sortie ('shark', 'cuttlefish', 'squid', 'mantis shrimp') |
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 :
|
1 |
print(tuple('Sammy')) |
|
1 2 3 |
Sortie ('S', 'a', 'm', 'm', 'y') |
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 :
|
1 |
print(tuple(5000)) |
|
1 2 3 |
Sortie TypeError: 'int' object is not iterable |
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 :
|
1 |
print(list(('blue coral', 'staghorn coral', 'pillar coral'))) |
|
1 2 3 |
Sortie ['blue coral', 'staghorn coral', 'pillar coral'] |
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 :
|
1 2 3 |
coral = ('blue coral', 'staghorn coral', 'pillar coral') list(coral) |
Tout comme pour les tuples, vous pouvez également convertir directement des chaînes de caractères en listes :
|
1 |
print(list('shark')) |
|
1 2 3 |
Sortie ['s', 'h', 'a', 'r', 'k'] |
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 :
- Découvrez comment installer Python 3 et configurer un environnement de programmation local sur Ubuntu 16.04.
- Suivez ce tutoriel pour apprendre comment extraire des données Twitter à l'aide de Python.
- Apprenez comment récupérer des données NASDAQ par minute à l'aide de Python.
- Vous pouvez également consulter comment utiliser le script Python CloudSigma pour automatiser la conversion d'un instantané de disque en un disque complet sur notre plateforme.
Bonne programmation !
Commentaires
Aucun commentaire pour l'instant. Soyez le premier.