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
etint
- Comment convertir une chaîne Python en un
int
- Comment convertir un Python
int
à une ficelle
Commençons!
Python Pit Stop: Ce tutoriel est un rapide et pratique Pour trouver l’information dont vous avez besoin, vous serez de retour dans votre projet en un rien de temps!
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:
str
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)
Détail technique: Le préfixe n'est pas requis dans une représentation entière ou sous forme de chaîne lorsqu'il peut être déduit.
int
suppose que l'entier est littéral décimal:
>>> décimal = 303
>>> hexadecimal_with_prefix = 0x12F
>>> hexadecimal_no_prefix = 12F
Fichier "" , ligne 1
hexadecimal_no_prefix = 12F
^
Erreur de syntaxe: Syntaxe invalide
La représentation sous forme de chaîne d'un entier est plus flexible car une chaîne contient des données textuelles arbitraires:
>>> décimal = "303"
>>> hexadecimal_with_prefix = "0x12F"
>>> hexadecimal_no_prefix = "12F"
Chacune de ces chaînes représente le même entier.
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.
Remarque:
Il est important de reconnaître la différence entre deux types de résultats échoués du passage d’une chaîne à int ()
:
- Erreur de syntaxe: UNE
ValueError
se produira quandint ()
ne sait pas comment analyser la chaîne en utilisant la base fournie (10 par défaut). - Erreur logique:
int ()
sait comment analyser la chaîne, mais pas comme vous le souhaitiez.
Voici un exemple d'erreur logique:
>>> binaire = "11010010"
>>> int(binaire) # Utilisation de la base par défaut de 10, au lieu de 2
11010010
Dans cet exemple, vous vouliez que le résultat soit 210, qui est la représentation décimale de la chaîne binaire. Malheureusement, comme vous n'avez pas spécifié ce comportement, int ()
supposé que la chaîne était un entier décimal.
Une bonne sauvegarde de ce comportement est de toujours définir vos représentations de chaîne en utilisant des bases explicites:
>>> int("0b11010010")
Traceback (dernier appel le plus récent):
Fichier "" , ligne 1, dans
ValueError: Littéral invalide pour int () avec base 10: '0b11010010'
Ici, vous obtenez un ValueError
parce que int ()
ne sait pas comment analyser la chaîne binaire comme un entier décimal.
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.
Détail technique: L'argument que vous passez à base
n'est pas limité à 2, 8, 10 et 16:
>>> int("dix", base=3)
3
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
etint
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()
!
[ad_2]