Conversion de chaîne en entier, entier en chaîne en Python
Dans ce tutoriel, nous allons apprendre à convertir une chaîne Python en int et int en chaîne en Python. Dans notre tutoriel précédent, nous avons appris la fonction append de la liste Python.
Conversion de chaîne en entier en Python
Si vous avez lu nos tutoriels précédents, vous avez peut-être remarqué qu'à un moment donné, nous avons utilisé cette conversion. En fait, cela est nécessaire dans de nombreux cas. Par exemple, vous lisez des données à partir d'un fichier, alors elles seront au format String et vous devrez convertir String en int. Maintenant, nous allons directement au code. Si vous voulez convertir un nombre représenté sous forme de chaîne en int, vous devez utiliser la fonction int() pour ce faire. Voici l'exemple suivant :
num = '123' # string data
print the type
print('Type of num is :', type(num))
convert using int()
num = int(num)
print the 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 de chaîne en int à partir de différentes bases
Si la chaîne que vous souhaitez convertir en entier appartient à une base de numération différente de la base 10, vous pouvez spécifier la base pour la conversion. Mais sachez que l'entier résultant 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 de chaîne en entier avec l'argument de base.
num = '123'
print the original string
print('The original string :', num)
considering '123' be in base 10, convert it to base 10
print('Base 10 to base 10:', int(num))
considering '123' be in base 8, convert it to base 10
print('Base 8 to base 10 :', int(num, base=8))
considering '123' be in base 6, convert it to base 10
print('Base 6 to base 10 :', int(num, base=6))
La sortie 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 rencontrer une exception ValueError. Cette exception se produit si la chaîne que vous souhaitez convertir ne représente aucun nombre. Supposons que vous souhaitiez convertir un nombre hexadécimal en entier. Mais vous n'avez pas passé l'argument base=16 dans la fonction int(). Cela entraînera une exception ValueError s'il y a un chiffre qui n'appartient pas au système de numération décimal. 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
the variable is considered as decimal value during conversion
print('The value is :', int(num))
the variable is considered as hexadecimal value during conversion
print('Actual value is :', int(num, base=16))
"""
Scenario 2: The interpreter will raise ValueError exception
"""
num = '1e' # this is a hexadecimal value
the variable is considered as hexadecimal value during conversion
print('Actual value of \'1e\' is :', int(num, base=16))
the variable is considered as decimal value during 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'
Conversion d'un int en chaîne en Python
Convertir un entier en chaîne ne nécessite aucun effort ni vérification. Il vous suffit d'utiliser la fonction str() pour effectuer la conversion. Voir 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 sur la conversion de chaîne en int et d'int en chaîne en Python. Référence : Documentation officielle de Python.





