Aller au contenu
Bonnes pratiques

Conversions de type

int, float, str et bool convertissent une valeur d'un type à un autre. Toute donnée lue dans un fichier, un formulaire ou une API arrive en texte : il faut la convertir avant de calculer.

  • int
  • str
  • float
  • bool
  • cast
  • conversion
  • arrondi

Syntaxe

Modèle
int(x)   float(x)   str(x)   bool(x)   list(x)   set(x)

Exemple

Exemple concret
quantite = int("3")prix = float("19.90")print(quantite * prix)            # → 59.699999999999996print(round(quantite * prix, 2))  # → 59.7montant_fr = "1 234,50"print(float(montant_fr.replace(" ", "").replace(",", ".")))  # → 1234.5print(int(float("3.7")))          # → 3print(str(2026) + "-11")          # → 2026-11print(bool("0"), bool(""))        # → True False

À retenir

  1. int("3.7") lève ValueError : passez d'abord par float. Sachez aussi que int() tronque vers zéro (int(-3.7) vaut -3) alors que round() arrondit.
  2. Piège : bool("0") et bool("False") valent True, car toute chaîne non vide est vraie. Pour une colonne oui/non, comparez explicitement : valeur.strip().lower() in {"oui", "1", "true"}.
  3. Les montants au format français (virgule décimale, espace des milliers) ne se convertissent pas directement : nettoyez-les avec replace, ou laissez pandas faire avec read_csv(decimal=",", thousands=" ").
  4. Piège : round arrondit au pair en cas d'égalité (round(2.5) vaut 2, round(3.5) vaut 4), et les float rendent certains cas surprenants. Pour des montants, utilisez decimal.Decimal avec ROUND_HALF_UP.
  5. list(texte) découpe en caractères, list(d) donne les clés d'un dictionnaire, set(liste) supprime les doublons.

Voir aussi