Pourquoi 25 n'est-il pas égal à "25" ?

Dans le monde de la programmation, la distinction entre des valeurs telles que 25 (un nombre entier) et "25" (une chaîne de caractères) peut sembler évidente pour les programmeurs expérimentés, mais elle peut être source de confusion pour les débutants. Dans ce chapitre, nous allons expliquer pourquoi 25 et "25" sont deux choses différentes en Python.

    3gms

Type de Données

La principale raison pour laquelle 25 n'est pas égal à "25" réside dans le concept de type de données en Python. Chaque valeur en Python appartient à un type de données spécifique, qui définit la nature de cette valeur et comment elle peut être traitée.

  • 25 est un nombre entier (int) : Lorsque nous écrivons simplement 25 dans notre code, Python comprend que nous travaillons avec un nombre entier. Les nombres entiers sont des valeurs numériques sans guillemets, et ils sont utilisés pour effectuer des calculs mathématiques.

  • "25" est une chaîne de caractères (str) : D'autre part, lorsque nous entourons une valeur avec des guillemets, comme "25", Python interprète cette valeur comme une chaîne de caractères. Les chaînes de caractères sont utilisées pour représenter du texte et peuvent contenir des lettres, des chiffres, des espaces, des symboles, etc.

Comparaison de Types Différents

La différence fondamentale entre 25 et "25" réside dans leur type de données respectif. Si vous comparez un nombre entier à une chaîne de caractères, Python considère qu'ils sont différents en raison de leurs types différents.

Voici un exemple pour illustrer cela :

nombre = 25
chaine = "25"

if nombre == chaine:
    print("Les valeurs sont égales.")
else:
    print("Les valeurs ne sont pas égales.")

Le résultat de ce code sera "Les valeurs ne sont pas égales." parce que Python compare un nombre entier (nombre) à une chaîne de caractères (chaine) et constate que leurs types sont différents.

💡 D'une certaine manière, c'est comme si vous écriviez 25 et vingt-cing... on a l'idée que c'est la même chose, mais on voit bien qu'on n'a pas écrit la même chose.

Conversion entre Types

Si vous souhaitez comparer ces deux valeurs en tant que nombres, vous devez les convertir en un même type. Vous pouvez utiliser les fonctions int() ou float() pour convertir une chaîne de caractères en un nombre.

Par exemple :

nombre = 25
chaine = "25"

chaine_convertie = int(chaine)  # Convertir la chaîne en un nombre entier

if nombre == chaine_convertie:
    print("Les valeurs sont égales.")
else:
    print("Les valeurs ne sont pas égales.")

Maintenant, le résultat sera "Les valeurs sont égales." car nous avons converti la chaîne "25" en un nombre entier, les deux valeurs sont donc comparables.

En conclusion, la différence entre 25 et "25" réside dans leur type de données. 25 est un nombre entier, tandis que "25" est une chaîne de caractères. Lorsque vous effectuez des comparaisons en Python, assurez-vous de prendre en compte le type de données des valeurs que vous comparez, et si nécessaire, effectuez des conversions pour les rendre compatibles. Cela vous permettra de travailler efficacement avec différents types de données dans vos programmes Python.

Pour aller plus loin