Comment convertir une chaîne python en int – Real Python

By | septembre 18, 2019

python pour débutant

Les entiers sont des nombres entiers. En d'autres termes, ils n'ont aucune composante fractionnaire. Deux types de données que vous pouvez utiliser pour stocker un entier en Python sont int et str. Ces types offrent une flexibilité pour travailler avec des nombres entiers dans différentes circonstances. Dans ce tutoriel, vous apprendrez comment convertir une chaîne Python en un int. Vous apprendrez également à convertir une int à une chaîne.

A la fin de ce tutoriel, vous comprendrez:

  • Comment stocker des entiers en utilisant str et int
  • Comment convertir une chaîne Python en un int
  • Comment convertir un Python int à une ficelle

Commençons!

Représenter des entiers en Python

Un entier peut être stocké en utilisant différents types. Deux types de données Python possibles pour représenter un entier sont:

  1. str
  2. int

Par exemple, vous pouvez représenter un entier à l'aide d'un littéral de chaîne:

Ici, Python comprend que vous voulez stocker l’entier 110 comme une chaîne. Vous pouvez faire la même chose avec le type de données entier:

Il est important de réfléchir à ce que vous entendez par "110" et 110 dans les exemples ci-dessus. En tant qu'être humain ayant utilisé le système des nombres décimaux pendant toute votre vie, il est évident que vous entendez le nombre cent dix. Cependant, il existe plusieurs autres systèmes de numérotation, tels que binaire et hexadécimal, qui utilisent différentes bases pour représenter un entier.

Par exemple, vous pouvez représenter le nombre cent dix en binaire et hexadécimal comme 1101110 et 6e respectivement.

Vous pouvez également représenter vos entiers avec d’autres systèmes de numération dans Python en utilisant le str et int Types de données:

>>>

>>> binaire = 0b1010
>>> hexadécimal = "0xa"

Remarquerez que binaire et hexadécimal utilisez des préfixes pour identifier le système de numérotation. Tous les préfixes entiers sont sous la forme 0?, dans lequel vous remplacez ? avec un caractère faisant référence au système de numération:

  • b: binaire (base 2)
  • o: octal (base 8)
  • ré: décimal (base 10)
  • X: hexadécimal (base 16)

Maintenant que vous avez des connaissances de base sur la façon de représenter des entiers à l'aide de str et int, vous apprendrez à convertir une chaîne Python en un int.

Conversion d’une chaîne Python en une int

Si vous avez un entier décimal représenté sous forme de chaîne et que vous souhaitez convertir la chaîne Python en un int, alors vous passez juste la chaîne à int (), qui retourne un entier décimal:

>>>

>>> int("dix")
dix
>>> type(int("dix"))

Par défaut, int () suppose que l'argument de chaîne représente un entier décimal. Si, toutefois, vous passez une chaîne hexadécimale à int ()alors vous verrez un ValueError:

>>>

>>> int("0x12F")
Traceback (dernier appel le plus récent):
  Fichier "", ligne 1, dans 
ValueError: Littéral invalide pour int () avec base 10: '0x12F'

Le message d'erreur indique que la chaîne n'est pas un entier décimal valide.

Lorsque vous passez une chaîne à int (), vous pouvez spécifier le système de numération que vous utilisez pour représenter l’entier. La manière de spécifier le système de numérotation est d'utiliser base:

>>>

>>> int("0x12F", base=16)
303

Maintenant, int () comprend que vous passez une chaîne hexadécimale et que vous attendez un entier décimal.

Génial! Maintenant que vous êtes à l'aise avec les tenants et les aboutissants de la conversion d'une chaîne Python en une int, vous apprendrez à effectuer l’opération inverse.

Conversion d'un Python int à une chaîne

En Python, vous pouvez convertir un Python int à une chaîne en utilisant str ():

>>>

>>> str(dix)
'dix'
>>> type(str(dix))

Par défaut, str () se comporte comme int () en ce qu’il en résulte une représentation décimale:

>>>

>>> str(0b11010010)
'210'

Dans cet exemple, str () est assez intelligent pour interpréter le littéral binaire et le convertir en chaîne décimale.

Si vous souhaitez qu'une chaîne représente un entier dans un autre système de numérotation, utilisez une chaîne formatée, telle qu'une chaîne f (sous Python 3.6+), et une option spécifiant la base:

>>>

>>> octal = 0o1073
>>> F"octal"  # Décimal
'571'
>>> F"octal: x"  # Hexadécimal
'23b'
>>> F"octal: b"  # Binaire
'1000111011'

str est un moyen flexible de représenter un entier dans une variété de systèmes de numération différents.

Conclusion

Toutes nos félicitations! Vous avez beaucoup appris sur les entiers et sur la façon de les représenter et de les convertir entre chaîne Python et int Types de données.

Dans ce tutoriel, vous avez appris:

  • Comment utiliser str et int pour stocker des entiers
  • Comment spécifier un système de numération explicite pour une représentation entière
  • Comment convertir une chaîne Python en un int
  • Comment convertir un Python int à une ficelle

Maintenant que vous en savez tellement sur str et int, vous pouvez en apprendre plus sur la représentation des types numériques à l'aide de flotte(), hex (), oct(), et poubelle()!