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".
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
Can you explain more about how underscores work in numeric strings?
What happens if I try to convert a string with spaces or special characters to int or float?
Can you show examples of converting between these types in more complex scenarios?
Génial!
Completion taux amélioré à 3.45
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 !