Principes Fondamentaux de la Conversion de Types
Glissez pour afficher le menu
La conversion de type permet de passer d’un type de base Python à un autre afin que les valeurs puissent être comparées, calculées ou affichées.
Conversion en int
int(x) crée un entier.
- À partir d’un int : retourne le même nombre ;
- À partir d’un float : tronque vers zéro (par exemple,
int(2.9)retourne2,int(-2.9)retourne-2) ; - À partir d’une chaîne : la chaîne doit représenter un entier (les espaces et le signe sont acceptés).
Python autorise également les soulignés dans les chiffres, comme
"1_000"— mais uniquement si : - Le souligné est entre deux chiffres ;
- Il n’est pas au début ou à la fin (
"_100","100_") ; - Il n’est pas répété ni adjacent à un point décimal (
"1__000","1_.5").
Conversions valides
1234567age_input = " 42 " print(int(age_input)) # 42 print(int(2.9)) # 2 print(int(-2.9)) # -2 print(int("7")) # 7 print(int(" -15 ")) # -15 print(int("1_00_0")) # 1000
Ceux-ci lèvent une ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Conversion en float
float(x) crée un nombre à virgule flottante.
- Fonctionne pour les entiers et les chaînes en notation décimale ou scientifique (
"3.14","1e2","5E-3") ; - Les virgules ne sont pas des points décimaux en Python (
"2,5","2.5") ; - Python autorise les underscores dans les chiffres des chaînes numériques, mais uniquement si :
- L’underscore est entre des chiffres ;
- Il n’est pas au début ou à la fin (
"_3.14","3.14_") ; - Il n’est pas adjacent au point décimal ni répété (
"3_.14","3.__14") ; - La notation scientifique doit également respecter ces règles (
"1e_3").
Conversions valides
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
Ceux-ci génèrent une ValueError
1float("2,5") # ValueError - use a dot, not a comma
Conversion en str
str(x) crée une représentation sous forme de chaîne lisible par l’humain. Privilégier les f-strings lors de la construction de messages.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
Conversion en bool
bool(x) suit les règles de véracité (truthiness) de Python.
- Nombres :
0correspond àFalse, tout autre nombre àTrue; - Chaînes :
""(vide) correspond àFalse, toute chaîne non vide àTrue(même"0"et"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Erreurs à éviter
int("2.5")génère uneValueError– analyser d'abord avecfloat(), puis tronquer ou arrondir ;- Habitude locale :
"2,5"est invalide – utiliser"2.5"; - Surprise de véracité :
bool("0")estTrue– comparer explicitement le contenu de la chaîne si nécessaire, par exemples == "0".
1. Quel appel génère une ValueError ?
2. Choisissez l'énoncé correct.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Principes Fondamentaux de la Conversion de Types
La conversion de type permet de passer d’un type de base Python à un autre afin que les valeurs puissent être comparées, calculées ou affichées.
Conversion en int
int(x) crée un entier.
- À partir d’un int : retourne le même nombre ;
- À partir d’un float : tronque vers zéro (par exemple,
int(2.9)retourne2,int(-2.9)retourne-2) ; - À partir d’une chaîne : la chaîne doit représenter un entier (les espaces et le signe sont acceptés).
Python autorise également les soulignés dans les chiffres, comme
"1_000"— mais uniquement si : - Le souligné est entre deux chiffres ;
- Il n’est pas au début ou à la fin (
"_100","100_") ; - Il n’est pas répété ni adjacent à un point décimal (
"1__000","1_.5").
Conversions valides
1234567age_input = " 42 " print(int(age_input)) # 42 print(int(2.9)) # 2 print(int(-2.9)) # -2 print(int("7")) # 7 print(int(" -15 ")) # -15 print(int("1_00_0")) # 1000
Ceux-ci lèvent une ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Conversion en float
float(x) crée un nombre à virgule flottante.
- Fonctionne pour les entiers et les chaînes en notation décimale ou scientifique (
"3.14","1e2","5E-3") ; - Les virgules ne sont pas des points décimaux en Python (
"2,5","2.5") ; - Python autorise les underscores dans les chiffres des chaînes numériques, mais uniquement si :
- L’underscore est entre des chiffres ;
- Il n’est pas au début ou à la fin (
"_3.14","3.14_") ; - Il n’est pas adjacent au point décimal ni répété (
"3_.14","3.__14") ; - La notation scientifique doit également respecter ces règles (
"1e_3").
Conversions valides
1234print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
Ceux-ci génèrent une ValueError
1float("2,5") # ValueError - use a dot, not a comma
Conversion en str
str(x) crée une représentation sous forme de chaîne lisible par l’humain. Privilégier les f-strings lors de la construction de messages.
123print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
Conversion en bool
bool(x) suit les règles de véracité (truthiness) de Python.
- Nombres :
0correspond àFalse, tout autre nombre àTrue; - Chaînes :
""(vide) correspond àFalse, toute chaîne non vide àTrue(même"0"et"False").
12345print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
Erreurs à éviter
int("2.5")génère uneValueError– analyser d'abord avecfloat(), puis tronquer ou arrondir ;- Habitude locale :
"2,5"est invalide – utiliser"2.5"; - Surprise de véracité :
bool("0")estTrue– comparer explicitement le contenu de la chaîne si nécessaire, par exemples == "0".
Merci pour vos commentaires !