Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Principes Fondamentaux de la Conversion de Types | Interactions Entre Types
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Types de Données en Python

bookPrincipes 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) retourne 2, 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

1234567
age_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
copy

Ceux-ci lèvent une ValueError

12
int("2.5") # ValueError - not an integer string int("42a") # ValueError
copy

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

1234
print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
copy

Ceux-ci génèrent une ValueError

1
float("2,5") # ValueError - use a dot, not a comma
copy

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.

123
print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
copy

Conversion en bool

bool(x) suit les règles de véracité (truthiness) de Python.

  • Nombres : 0 correspond à False, tout autre nombre à True ;
  • Chaînes : "" (vide) correspond à False, toute chaîne non vide à True (même "0" et "False").
12345
print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
copy

Erreurs à éviter

  • int("2.5") génère une ValueError – analyser d'abord avec float(), puis tronquer ou arrondir ;
  • Habitude locale : "2,5" est invalide – utiliser "2.5" ;
  • Surprise de véracité : bool("0") est True – comparer explicitement le contenu de la chaîne si nécessaire, par exemple s == "0".

1. Quel appel génère une ValueError ?

2. Choisissez l'énoncé correct.

question mark

Quel appel génère une ValueError ?

Select the correct answer

question mark

Choisissez l'énoncé correct.

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 1

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

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?

bookPrincipes 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) retourne 2, 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

1234567
age_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
copy

Ceux-ci lèvent une ValueError

12
int("2.5") # ValueError - not an integer string int("42a") # ValueError
copy

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

1234
print(float(3)) # 3.0 print(float("2.5")) # 2.5 print(float("1e3")) # 1000.0 print(float("1_000.1_234")) # 1000.1234
copy

Ceux-ci génèrent une ValueError

1
float("2,5") # ValueError - use a dot, not a comma
copy

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.

123
print(str(42)) # "42" print(str(3.5)) # "3.5" print(f"Ada scored {98} points.")
copy

Conversion en bool

bool(x) suit les règles de véracité (truthiness) de Python.

  • Nombres : 0 correspond à False, tout autre nombre à True ;
  • Chaînes : "" (vide) correspond à False, toute chaîne non vide à True (même "0" et "False").
12345
print(bool(0)) # False print(bool(7)) # True print(bool("")) # False print(bool("0")) # True print(bool("False")) # True
copy

Erreurs à éviter

  • int("2.5") génère une ValueError – analyser d'abord avec float(), puis tronquer ou arrondir ;
  • Habitude locale : "2,5" est invalide – utiliser "2.5" ;
  • Surprise de véracité : bool("0") est True – comparer explicitement le contenu de la chaîne si nécessaire, par exemple s == "0".

1. Quel appel génère une ValueError ?

2. Choisissez l'énoncé correct.

question mark

Quel appel génère une ValueError ?

Select the correct answer

question mark

Choisissez l'énoncé correct.

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 1
some-alt