Dans ce tutoriel, nous apprendrons comment convertir une chaîne Python en entier et un entier en chaîne en Python. Dans notre précédent tutoriel, nous avons appris la fonction Python List append.
Python String to Int
Si vous avez lu nos tutoriels précédents, vous avez peut-être remarqué qu’à un moment donné, nous avons utilisé cette conversion. En réalité, cela est nécessaire dans de nombreux cas. Par exemple, si vous lisez des données à partir d’un fichier, elles seront au format chaîne et vous devrez convertir la chaîne en entier. Maintenant, passons directement au code. Si vous souhaitez convertir un nombre représenté dans la chaîne en entier, vous devez utiliser la fonction int()
. Voyez l’exemple suivant :
num = '123' # string data
# imprimer le type
print('Type of num is :', type(num))
# convertir en utilisant int()
num = int(num)
# imprimer le type again
print('Now, type of num is :', type(num))
La sortie du code suivant sera
Type of num is : <class 'str'>
Now, type of num is : <class 'int'>

Conversion d’une chaîne en entier à partir d’une base différente
Si la chaîne que vous souhaitez convertir en entier appartient à une base numérique différente de la base 10, vous pouvez spécifier la base de conversion. Mais rappelez-vous que l’entier en sortie est toujours en base 10. Une autre chose à retenir est que la base donnée doit être comprise entre 2 et 36. Consultez l’exemple suivant pour comprendre la conversion d’une chaîne en entier avec l’argument de base.
num = '123'
# imprimer la chaîne originale
print('The original string :', num)
# en considérant que '123' est en base 10, le convertir en base 10
print('Base 10 to base 10:', int(num))
# en considérant que '123' est en base 8, le convertir en base 10
print('Base 8 to base 10 :', int(num, base=8))
# en considérant que '123' est en base 6, le convertir en base 10
print('Base 6 to base 10 :', int(num, base=6))
Le résultat du code suivant sera

Erreur de valeur lors de la conversion de la chaîne en entier
Lors de la conversion d’une chaîne en entier, vous pouvez obtenir une ValueError
exception. Cette exception se produit si la chaîne que vous souhaitez convertir ne représente aucun nombre. Supposons que vous vouliez convertir un nombre hexadécimal en entier. Mais vous n’avez pas passé l’argument base=16 dans la fonction int(). Cela lèvera une exception ValueError
s’il y a un chiffre qui n’appartient pas au système de numération décimale. L’exemple suivant illustrera cette exception lors de la conversion d’une chaîne en entier.
"""
Scenario 1: The interpreter will not raise any exception but you get wrong data
"""
num = '12' # this is a hexadecimal value
# la variable est considérée comme une valeur décimale pendant la conversion
print('The value is :', int(num))
# la variable est considérée comme une valeur hexadécimale pendant la conversion
print('Actual value is :', int(num, base=16))
"""
Scenario 2: The interpreter will raise ValueError exception
"""
num = '1e' # this is a hexadecimal value
# la variable est considérée comme une valeur hexadécimale pendant la conversion
print('Actual value of \'1e\' is :', int(num, base=16))
# la variable est considérée comme une valeur décimale pendant la conversion
print('The value is :', int(num)) # this will raise exception
La sortie du code ci-dessus sera :
The value is : 12
Actual value is : 18
Actual value of '1e' is : 30
Traceback (most recent call last):
File "/home/imtiaz/Desktop/str2int_exception.py", line 22, in
print('The value is :', int(num)) # this will raise exception
ValueError: invalid literal for int() with base 10: '1e'

Python int vers String
Convertir un entier en chaîne ne nécessite aucun effort ni aucune vérification. Vous utilisez simplement la fonction str()
pour effectuer la conversion. Voyez l’exemple suivant.
hexadecimalValue = 0x1eff
print('Type of hexadecimalValue :', type(hexadecimalValue))
hexadecimalValue = str(hexadecimalValue)
print('Type of hexadecimalValue now :', type(hexadecimalValue))
La sortie du code suivant sera :
Type of hexadecimalValue : <class 'int'>
Type of hexadecimalValue now : <class 'str'>

C’est tout ce qu’il y a à savoir sur la conversion de chaîne en entier et d’entier en chaîne en Python. Référence : Documentation officielle de Python
Source:
https://www.digitalocean.com/community/tutorials/python-string-to-int-int-to-string