Skip to content

Maîtriser la conversion de chaînes de caractères en entiers en Python avec des exemples

Python est un langage de programmation polyvalent qui offre une vaste gamme de fonctions intégrées et de fonctionnalités pour manipuler différents types de données. Un scénario courant en programmation Python est de convertir des chaînes de caractères en entiers ou en d'autres types de données. Dans cet essai, nous explorerons les conversions de types, les fonctions intégrées et les techniques de gestion des erreurs pour convertir efficacement des chaînes de caractères en entiers en Python.

Vous voulez créer rapidement une visualisation de données à partir d'un dataframe Python Pandas sans utiliser de code ?

PyGWalker est une bibliothèque Python pour l'analyse exploratoire de données avec visualisation. PyGWalker (opens in a new tab) peut simplifier votre workflow d'analyse de données et de visualisation de données dans Jupyter Notebook, en transformant votre dataframe pandas (et dataframe polars) en une interface utilisateur inspirée de Tableau pour l'exploration visuelle.

PyGWalker pour la visualisation de données (opens in a new tab)

Qu'est-ce que la conversion de types en Python ?

La conversion de types est le processus de conversion d'un type de données en un autre. En Python, les types de données tels que les chaînes de caractères, les entiers et les flottants peuvent être convertis en utilisant des fonctions intégrées, ce qui facilite la manipulation et la conversion des types de données. Cela est essentiel lorsque des opérations mathématiques sont effectuées, lors de la gestion de la saisie utilisateur et lors de la manipulation de structures de données.

Conversion d'une chaîne de caractères en entier en Python

En Python, la fonction int() est utilisée pour convertir des chaînes de caractères en entiers. Cette fonction intégrée accepte une chaîne de caractères et retourne sa représentation entière si la chaîne contient un nombre valide. Par exemple :

string_num = "42"
int_num = int(string_num)
print(int_num)  # Résultat : 42

Cependant, si la chaîne contient des caractères non numériques ou des zéros en tête, vous devrez peut-être utiliser des techniques supplémentaires pour assurer une conversion réussie.

Tous les types de données peuvent-ils être convertis les uns en les autres en Python ?

Tous les types de données ne peuvent pas être directement convertis les uns en les autres en Python. Par exemple, vous ne pouvez pas convertir une liste en un entier ou un booléen en un flottant directement. Cependant, vous pouvez utiliser des conversions intermédiaires pour obtenir le résultat souhaité. Python propose différentes fonctions intégrées pour la conversion des types de données, telles que str(), float() et bool().

Autres fonctions intégrées pour la conversion de types de données en Python

Python propose plusieurs fonctions intégrées pour la conversion entre différents types de données :

  • float(): Convertit un nombre ou une chaîne de caractères en flottant.
  • bool(): Convertit une valeur en booléen.
  • str(): Convertit une valeur en chaîne de caractères.

Techniques de gestion des erreurs pour la conversion de chaîne de caractères en entier

Lors de la conversion de chaînes de caractères en entiers en Python, il est essentiel de gérer les erreurs potentielles de manière appropriée. Une approche consiste à utiliser un bloc try-except, qui capture les exceptions et vous permet de définir un comportement personnalisé en cas d'erreur de conversion. Par exemple :

string_num = "42a"
 
try:
    int_num = int(string_num)
except ValueError:
    int_num = None
    print("Entrée invalide")
 
print(int_num)  # Résultat : None

Conversion d'une chaîne de caractères avec des zéros en tête en entier en Python

Pour convertir une chaîne de caractères avec des zéros en tête en entier, vous pouvez simplement utiliser la fonction int() :

string_num = "0042"
int_num = int(string_num)
print(int_num)  # Résultat : 42

La fonction int() supprime automatiquement les zéros en tête et convertit la chaîne de caractères en sa représentation entière. Cependant, si vous avez besoin de conserver les zéros en tête dans la sortie, vous pouvez convertir l'entier en chaîne de caractères avec un nombre spécifié de caractères en utilisant la méthode str.zfill() :

string_num = "0042"
int_num = int(string_num)
output_string = str(int_num).zfill(4)
print(output_string)  # Résultat : "0042"

Conversion d'une chaîne de caractères en entier dans un dictionnaire en Python

Lorsque vous travaillez avec des dictionnaires, vous pouvez rencontrer des situations où vous devez convertir des valeurs de chaînes de caractères en entiers. Une approche consiste à utiliser une compréhension de dictionnaire, qui vous permet de créer un nouveau dictionnaire avec les valeurs converties :

input_dict = {'a': '42', 'b': '12', 'c': '7'}
 
output_dict = {key: int(value) for key, value in input_dict.items()}
print(output_dict)  # Résultat : {'a': 42, 'b': 12, 'c': 7}

Si vous devez gérer les erreurs potentielles lors du processus de conversion, vous pouvez utiliser un bloc try-except dans la compréhension de dictionnaire :

input_dict = {'a': '42', 'b': '12', 'c': '7', 'd': 'invalide'}
 
output_dict = {key: (int(value) if value.isdigit() else None) for key, value in input_dict.items()}
print(output_dict)  # Résultat : {'a': 42, 'b': 12, 'c': 7, 'd': None}

Conversion de chaîne de caractères en entier en Python sans utiliser la fonction int()

Dans certains cas, vous voudrez peut-être convertir une chaîne de caractères en entier sans utiliser la fonction int(). Vous pouvez y parvenir en utilisant la fonction ord(), qui renvoie le point de code Unicode pour un caractère donné, et une boucle pour calculer la valeur entière de la chaîne de caractères : Veuillez fournir la traduction française de ce fichier markdown sans traduire le code intégré:

string_num = "42"
 
int_num = 0
for char in string_num:
    int_num = int_num * 10 + (ord(char) - ord('0'))
 
print(int_num)  # Sortie: 42

Gardez à l'esprit que cette méthode ne gère pas les erreurs et les cas particuliers, il est donc préférable d'utiliser la fonction int() lorsque cela est possible.

Conclusion

En conclusion, convertir des chaînes de caractères en entiers en Python est une tâche courante qui peut être réalisée en utilisant la conversion de type, des fonctions intégrées comme int(), et des techniques de gestion d'erreurs. En comprenant ces méthodes et en explorant des sujets connexes, vous pouvez devenir plus compétent en programmation Python et en manipulation de types de données.

Pour approfondir vos connaissances en Python et en conversion de types, consultez nos autres guides sur des sujets tels que comment vérifier votre version de Python, comment exécuter des scripts Python, et combien de temps il faut pour apprendre Python.