Python débutant : variables, types et conversions
Apprenez les variables, types de données et conversions en Python avec des exemples simples, pas à pas, pour bien débuter en programmation.

Quand on débute en Python, trois notions reviennent immédiatement : les variables, les types de données et les conversions. Ce sont les briques de base de presque tous les programmes. Avant de créer des boucles, des fonctions, des jeux ou des sites web, il faut comprendre comment Python stocke une valeur, comment il sait si cette valeur est un texte, un nombre ou un booléen, et comment transformer une donnée d’un type à un autre.
Ce tutoriel très détaillé a pour objectif de vous faire comprendre ces concepts sans supposer de connaissances techniques avancées. Nous allons avancer étape par étape, avec des exemples simples, lisibles et directement testables. Vous verrez comment créer une variable, choisir un bon nom, distinguer plusieurs types courants, utiliser type(), convertir une chaîne en nombre avec int() ou float(), transformer un nombre en texte avec str(), et éviter les erreurs les plus fréquentes chez les débutants.
Le but n’est pas seulement de recopier du code, mais de comprendre pourquoi il fonctionne. À la fin, vous saurez lire et écrire de petites instructions Python impliquant des variables, des valeurs numériques, du texte et des conversions de type, ce qui vous donnera une base solide pour continuer votre apprentissage.
Prérequis
- Aucune connaissance préalable en programmation n’est nécessaire.
- Savoir utiliser un clavier et enregistrer un fichier texte est suffisant.
- Il est utile d’avoir Python installé sur votre ordinateur, ou un environnement Python en ligne.
- Vous devez pouvoir exécuter de petites lignes de code Python pour tester les exemples.
Matériel nécessaire
- Un ordinateur avec Python installé ou un interpréteur Python en ligne
- Un éditeur de texte ou un environnement de développement simple
- Quelques minutes pour tester chaque exemple vous-même
Étapes
Comprendre ce qu’est une variable en Python

Une variable est un nom que l’on donne à une valeur pour pouvoir la réutiliser plus facilement. Au lieu d’écrire plusieurs fois la même information dans votre programme, vous la stockez dans une variable. Cela rend le code plus clair, plus flexible et plus simple à modifier.
Par exemple :
pythonage = 25 prenom = "Lina" prix = 19.99Ici :
agecontient la valeur25prenomcontient le texte"Lina"prixcontient le nombre décimal19.99
Le signe
=ne signifie pas “est égal” au sens mathématique strict. En Python, il sert à affecter une valeur à une variable. On peut lireage = 25comme “mettre 25 dans la variable age”.Une variable peut être affichée avec
print():pythonage = 25 print(age)Résultat :
python25Vous pouvez également réutiliser une variable dans plusieurs endroits :
pythonprenom = "Lina" print("Bonjour") print(prenom)Une variable peut aussi changer de valeur pendant l’exécution du programme :
pythonscore = 10 print(score) score = 15 print(score)Résultat :
python10 15Cela montre qu’une variable n’est pas figée. Elle peut être mise à jour selon les besoins du programme.
Pour un débutant, une bonne image mentale est la suivante : imaginez une boîte étiquetée. L’étiquette est le nom de la variable, et le contenu de la boîte est la valeur.
Bien nommer ses variables

Choisir de bons noms de variables est très important. Un code fonctionne parfois même avec des noms médiocres, mais il devient vite difficile à relire. En Python, il est conseillé d’utiliser des noms clairs, simples et descriptifs.
Exemples de bons noms :
pythonnom = "Sara" age = 18 prix_total = 45.50 est_connecte = TrueExemples moins clairs :
pythonx = "Sara" a = 18 p = 45.50 b = TrueLes noms de variables suivent quelques règles :
- Ils peuvent contenir des lettres, des chiffres et le caractère
_. - Ils ne doivent pas commencer par un chiffre.
- Ils ne doivent pas contenir d’espace.
- Ils sont sensibles à la casse :
nometNomsont différents.
Exemples valides :
pythonville = "Paris" nom_utilisateur = "leo" score1 = 100Exemples invalides :
python1nom = "Paul" nom utilisateur = "Paul" prix-total = 20En Python, on utilise généralement le style snake_case, c’est-à-dire des mots en minuscules séparés par des tirets bas :
pythondate_naissance = "2000-05-10" montant_total = 125.90Ce style améliore la lisibilité, surtout quand les programmes deviennent plus longs.
- Ils peuvent contenir des lettres, des chiffres et le caractère
Découvrir les principaux types de données
Une variable ne contient pas seulement une valeur ; cette valeur a aussi un type. Le type indique à Python comment interpréter la donnée. C’est essentiel, car on ne manipule pas un texte de la même manière qu’un nombre.
Les types de base les plus importants pour un débutant sont :
- int : nombres entiers
- float : nombres décimaux
- str : chaînes de caractères, donc du texte
- bool : valeurs booléennes, soit
True, soitFalse
Exemples :
pythonage = 30 # int prix = 9.99 # float nom = "Mila" # str est_majeur = True # boolLe type est important car il détermine les opérations autorisées. Par exemple :
pythonprint(2 + 3) print("Bonjour" + " Pierre")Dans le premier cas, Python additionne deux nombres. Dans le second, il assemble deux textes.
En revanche, certaines combinaisons ne sont pas automatiques :
pythonage = 20 print("Age : " + age)Ce code produit une erreur, car Python ne peut pas concaténer directement une chaîne de caractères et un entier. Il faudra convertir la valeur, ce que nous verrons plus loin.
Comprendre les types, c’est comprendre pourquoi certains codes marchent et d’autres non.
Le type entier : int
Le type
intreprésente les nombres entiers, positifs, négatifs ou nuls, sans partie décimale.Exemples :
pythonage = 21 points = 100 temperature = -5 zero = 0Avec des entiers, vous pouvez faire les opérations classiques :
pythona = 10 b = 3 print(a + b) print(a - b) print(a * b) print(a / b)Résultat :
python13 7 30 3.3333333333333335Note importante : la division avec
/produit un résultat décimal, donc souvent unfloat, même si les deux valeurs de départ sont des entiers.Vous pouvez aussi utiliser la division entière avec
//:pythonprint(10 // 3)Résultat :
python3Et le reste de la division avec
%:pythonprint(10 % 3)Résultat :
python1Ces opérateurs sont utiles, mais pour commencer, retenez surtout qu’un
intest un nombre sans virgule ou point décimal.Le type décimal : float
Le type
floatreprésente les nombres à virgule flottante, c’est-à-dire les nombres avec une partie décimale. En Python, on utilise le point et non la virgule pour écrire ces valeurs.Exemples :
pythontaille = 1.75 prix = 12.50 note = 14.5Vous pouvez faire des calculs de la même façon qu’avec les entiers :
pythonlargeur = 2.5 hauteur = 4.0 surface = largeur * hauteur print(surface)Résultat :
python10.0Même si le résultat semble être un nombre entier au sens courant, Python l’affiche ici comme un
floatparce que les valeurs de départ étaient décimales.Exemple de mélange entre
intetfloat:pythonquantite = 3 prix_unitaire = 2.5 total = quantite * prix_unitaire print(total)Résultat :
python7.5Python sait combiner automatiquement un entier et un décimal dans de nombreux calculs numériques. Le résultat devient alors généralement un
float.Pour un débutant, le point essentiel est simple : si une valeur contient une partie décimale, elle est généralement de type
float.Le type texte : str

Le type
strreprésente une chaîne de caractères, autrement dit du texte. Cela peut être un prénom, une phrase, un chiffre écrit sous forme textuelle ou même une chaîne vide.Exemples :
pythonprenom = "Nora" message = "Bonjour à tous" code_postal = "75001" vide = ""Remarquez que
"75001"est du texte, pas un nombre. Même si cela ressemble à une suite de chiffres, Python le considère comme une chaîne car la valeur est entre guillemets.On peut concaténer des chaînes avec
+:pythonprenom = "Nora" message = "Bonjour " + prenom print(message)Résultat :
pythonBonjour NoraOn peut aussi répéter une chaîne :
pythonprint("ha" * 3)Résultat :
pythonhahahaLes chaînes sont très utilisées pour afficher des messages, lire des entrées utilisateur ou manipuler du contenu textuel.
Il est important de ne pas confondre :
pythonnombre = 5 texte = "5"nombreest un entier utilisable directement pour calculer.texteest une chaîne, qui doit être convertie si l’on veut l’utiliser comme nombre.Le type booléen : bool
Le type
boolne possède que deux valeurs possibles :TrueetFalse. Ces valeurs servent à représenter une réponse de type “oui/non”, “vrai/faux”, “activé/désactivé”.Exemples :
pythonest_connecte = True est_termine = FalseLes booléens sont souvent produits par des comparaisons :
pythonage = 20 print(age >= 18) print(age < 18)Résultat :
pythonTrue FalseVous pouvez stocker ce résultat dans une variable :
pythonage = 20 est_majeur = age >= 18 print(est_majeur)Les booléens sont très utiles dans les conditions, par exemple avec
if, même si ce tutoriel reste centré sur les variables et les types.Attention à l’écriture : en Python, il faut écrire
TrueetFalseavec une majuscule au début.Vérifier le type d’une valeur avec type()
Quand vous avez un doute sur le type d’une variable, Python fournit la fonction
type(). Elle permet d’identifier le type de n’importe quelle valeur.Exemples :
pythonage = 25 prix = 8.5 nom = "Yanis" est_pret = False print(type(age)) print(type(prix)) print(type(nom)) print(type(est_pret))Vous verrez s’afficher des informations correspondant aux types de ces valeurs.
C’est particulièrement utile lorsque vous récupérez une donnée et que vous ne savez pas si elle est encore du texte ou déjà un nombre. Par exemple :
pythonvaleur = "12" print(valeur) print(type(valeur))Ici, même si la valeur ressemble à un nombre,
type(valeur)indiquera qu’il s’agit d’une chaîne de caractères.Cette habitude de vérification est excellente pour apprendre. Quand un programme ne se comporte pas comme prévu, le type de vos variables est souvent la première chose à contrôler.
Affectation, réaffectation et calculs avec les variables
Une fois qu’une variable est créée, vous pouvez la réutiliser dans des expressions, des affichages et des calculs. Vous pouvez aussi mettre à jour sa valeur.
Exemple simple :
pythoncompteur = 1 print(compteur) compteur = compteur + 1 print(compteur)Résultat :
python1 2La ligne
compteur = compteur + 1peut surprendre au début. Elle signifie : prendre la valeur actuelle decompteur, ajouter 1, puis stocker le résultat dans la même variable.Autre exemple :
pythonprix = 10 quantite = 4 total = prix * quantite print(total)Résultat :
python40Les variables permettent donc de construire des résultats à partir d’autres valeurs. Cela évite d’écrire des nombres “en dur” partout dans le code.
Vous pouvez également modifier le type d’une variable en lui affectant une nouvelle valeur d’un autre type :
pythonvaleur = 10 print(type(valeur)) valeur = "dix" print(type(valeur))Python autorise cela. Pour apprendre, c’est utile à savoir, mais dans un vrai programme il vaut mieux rester cohérent afin de garder un code lisible.
Comprendre la conversion de type
La conversion de type consiste à transformer une valeur d’un type vers un autre. C’est une opération très courante en Python, surtout quand on lit du texte que l’on souhaite utiliser comme nombre, ou quand on veut afficher un nombre dans une phrase.
Les conversions les plus fréquentes pour un débutant sont :
int()pour convertir en entierfloat()pour convertir en décimalstr()pour convertir en chaîne de caractèresbool()pour convertir en booléen
Exemple de conversion d’un texte en entier :
pythonage_texte = "25" age_nombre = int(age_texte) print(age_nombre) print(type(age_nombre))Exemple de conversion d’un entier en texte :
pythonage = 25 message = "Age : " + str(age) print(message)Sans conversion, cette concaténation échouerait. Avec
str(age), Python transforme le nombre en texte, ce qui permet de l’ajouter à une chaîne.Les conversions sont indispensables pour faire dialoguer différents types entre eux.
Convertir en entier avec int()
La fonction
int()sert à obtenir un entier. Elle est très utilisée lorsqu’une donnée numérique arrive sous forme de texte.Exemple :
pythonnombre_texte = "42" nombre = int(nombre_texte) print(nombre) print(type(nombre))Ce code transforme la chaîne
"42"en entier42.Vous pouvez ensuite utiliser cette valeur dans des calculs :
pythona = int("10") b = int("5") print(a + b)Résultat :
python15int()peut aussi être appliqué à certains nombres décimaux pour obtenir leur partie entière :pythonprix = 9.8 print(int(prix))Résultat :
python9Pour un débutant, retenez simplement que
int()enlève la partie décimale dans ce cas.Attention : si la chaîne ne représente pas un entier valide, une erreur se produit :
pythonvaleur = "bonjour" print(int(valeur))Ce code échoue, car le texte
"bonjour"ne peut pas être interprété comme un entier.De même, une chaîne contenant un nombre décimal écrit avec un point ne peut pas être convertie directement avec
int():pythonvaleur = "3.14" print(int(valeur))Dans ce cas, il faut d’abord passer par
float()si nécessaire.Convertir en décimal avec float()
La fonction
float()permet de transformer une valeur en nombre décimal.Exemple avec une chaîne :
pythonprix_texte = "19.99" prix = float(prix_texte) print(prix) print(type(prix))Exemple avec un entier :
pythonquantite = 3 quantite_decimal = float(quantite) print(quantite_decimal)Résultat :
python3.0Cette conversion est utile lorsqu’on veut s’assurer qu’un calcul se fait dans un contexte décimal.
Important pour les francophones : Python attend généralement un point pour les nombres décimaux écrits sous forme de chaîne. Par exemple :
pythonnote = float("14.5")Une écriture avec virgule comme
"14,5"ne correspond pas au format numérique standard attendu parfloat()dans ce contexte.Vous pouvez combiner
float()et des calculs :pythonlargeur = float("2.5") hauteur = float("4") surface = largeur * hauteur print(surface)Résultat :
python10.0Convertir en texte avec str()
La fonction
str()convertit une valeur en chaîne de caractères. C’est extrêmement fréquent lorsque vous voulez afficher des nombres dans des messages.Exemple :
pythonage = 28 message = "Vous avez " + str(age) + " ans" print(message)Résultat :
pythonVous avez 28 ansVous pouvez convertir plusieurs types en texte :
pythonprint(str(10)) print(str(3.5)) print(str(True))Après conversion, le résultat peut être concaténé avec d’autres chaînes ou stocké comme texte.
Exemple pratique :
pythonprix = 9.99 nom = "Cahier" ligne = nom + " : " + str(prix) + " euros" print(ligne)Si vous oubliez
str(prix), Python refusera de concaténer directement le texte et le nombre décimal.La conversion en chaîne est donc souvent utilisée pour l’affichage, la création de messages ou la génération de petits rapports textuels.
Convertir en booléen avec bool()
La fonction
bool()convertit une valeur en booléen. Pour un débutant, l’idée principale est qu’elle indique si une valeur est interprétée comme “vraie” ou “fausse” dans un contexte logique.Exemples simples :
pythonprint(bool(1)) print(bool(0)) print(bool("Bonjour")) print(bool(""))Dans ces cas courants :
0donne un résultat faux- une chaîne vide
""donne un résultat faux - une valeur non nulle ou un texte non vide donne un résultat vrai
Exemples :
pythonprint(bool(5)) print(bool(-2)) print(bool("abc"))La conversion en booléen est moins utilisée au tout début que
int(),float()etstr(), mais elle aide à comprendre comment Python évalue les données dans des tests.Attention à un point très important :
pythonprint(bool("False"))Ici, le résultat est vrai, car
"False"est un texte non vide. Ce n’est pas la même chose que la valeur booléenneFalse.Pourquoi certaines opérations provoquent des erreurs
Beaucoup d’erreurs chez les débutants viennent d’un mélange involontaire de types. Python essaie d’être cohérent : il ne devine pas toujours ce que vous voulez faire si vous combinez du texte et des nombres.
Exemple problématique :
pythonage = 20 print("Age : " + age)Ici, Python reçoit une chaîne puis un entier. Il ne peut pas les concaténer directement. Il faut écrire :
pythonage = 20 print("Age : " + str(age))Autre exemple :
pythonnombre = "5" print(nombre + 2)Ce code échoue, car
nombreest du texte. Si vous voulez faire une addition numérique, il faut convertir :pythonnombre = "5" print(int(nombre) + 2)Résultat :
python7En revanche, si vous faites :
pythonnombre = "5" print(nombre + "2")Résultat :
python52Ce n’est pas une addition de nombres, mais une concaténation de chaînes. Voilà pourquoi il est essentiel de toujours savoir quel est le type de vos données.
Exemples simples du quotidien
Voyons maintenant quelques mini-exemples réalistes pour relier ces notions à des cas concrets.
Exemple 1 : calculer un âge l’année prochaine
pythonage = 17 age_annee_prochaine = age + 1 print(age_annee_prochaine)Ici,
ageetage_annee_prochainesont des entiers.Exemple 2 : afficher un message personnalisé
pythonprenom = "Léo" age = 17 message = "Bonjour " + prenom + ", vous avez " + str(age) + " ans" print(message)On utilise
str(age)pour intégrer le nombre dans le texte.Exemple 3 : additionner deux nombres saisis comme texte
pythona = "12" b = "8" resultat = int(a) + int(b) print(resultat)Sans conversion, vous obtiendriez une concaténation si vous manipuliez ces valeurs comme des chaînes.
Exemple 4 : calculer un prix total
pythonprix_unitaire = 4.5 quantite = 3 total = prix_unitaire * quantite print(total)Ici, Python combine un
floatet unint.Exemple 5 : vérifier une condition
pythonage = 20 est_majeur = age >= 18 print(est_majeur)La comparaison produit un booléen.
Ces petits cas illustrent déjà une grande partie des usages de base en Python.
Tester avec input() et convertir la saisie
Quand vous utilisez
input()pour demander quelque chose à l’utilisateur, la valeur récupérée est du texte. C’est un point fondamental.Exemple :
pythonnom = input("Quel est votre nom ? ") print("Bonjour " + nom)Ici, cela fonctionne bien, car on manipule du texte.
Mais si vous demandez un âge :
pythonage = input("Quel âge avez-vous ? ") print(age) print(type(age))La valeur est encore une chaîne de caractères, même si l’utilisateur tape un nombre.
Si vous voulez faire un calcul, il faut convertir :
pythonage = int(input("Quel âge avez-vous ? ")) print(age + 1)Autre exemple avec un prix :
pythonprix = float(input("Entrez un prix : ")) quantite = int(input("Entrez une quantité : ")) total = prix * quantite print(total)Ce type de code montre pourquoi les conversions sont si importantes. Sans elles, les données saisies par l’utilisateur restent du texte.
Pour un débutant, cette règle mérite d’être retenue absolument :
input()renvoie une chaîne.Mini exercice guidé : fiche d’un produit
Mettons en pratique tout ce que nous avons vu avec un petit exercice complet. L’objectif est de créer une mini fiche produit contenant un nom, un prix et une quantité, puis d’afficher le total.
Code :
pythonnom_produit = "Stylo" prix_unitaire = 1.5 quantite = 4 total = prix_unitaire * quantite print("Produit : " + nom_produit) print("Prix unitaire : " + str(prix_unitaire)) print("Quantité : " + str(quantite)) print("Total : " + str(total))Analyse :
nom_produitest une chaîneprix_unitaireest un décimalquantiteest un entiertotalest le résultat d’un calcul
Pourquoi utiliser
str()dans les affichages ? Parce que les lignes de texte sont construites avec la concaténation de chaînes, et qu’il faut donc convertir les nombres avant de les joindre au message.Version avec saisie utilisateur :
pythonnom_produit = input("Nom du produit : ") prix_unitaire = float(input("Prix unitaire : ")) quantite = int(input("Quantité : ")) total = prix_unitaire * quantite print("Produit : " + nom_produit) print("Total : " + str(total))Ce mini exercice mélange variables, types, conversions et affichage. C’est une excellente base pour s’entraîner.
Méthode simple pour progresser sans se perdre
Quand on débute, il est facile de se sentir bloqué par de petites erreurs. Pour progresser plus sereinement, adoptez une méthode simple :
- Écrivez un programme très court.
- Affichez souvent le contenu des variables avec
print(). - Vérifiez leur type avec
type(). - Ajoutez les conversions seulement quand elles sont nécessaires.
- Testez une seule modification à la fois.
Exemple de débogage débutant :
pythonage = input("Age : ") print(age) print(type(age)) print(int(age) + 1)Ce genre de test vous permet de voir clairement que la valeur saisie est d’abord une chaîne, puis qu’elle peut être convertie pour un calcul.
Autre bon réflexe : utilisez des noms explicites. Comparez :
pythonx = input("Valeur : ") y = int(x) print(y + 2)et :
pythonage_texte = input("Age : ") age_nombre = int(age_texte) print(age_nombre + 2)Le second exemple est plus long, mais beaucoup plus pédagogique. Quand on apprend, la clarté compte davantage que la brièveté.
Erreurs fréquentes & dépannage
- Confondre nombre et texte :
5et"5"n’ont pas le même type. - Oublier de convertir une saisie utilisateur : le résultat de
input()est du texte. - Concaténer directement une chaîne et un nombre : utilisez
str(). - Écrire un nombre décimal avec une virgule dans du code Python : il faut utiliser un point pour un
float. - Choisir des noms de variables peu clairs : cela complique la lecture et la compréhension.
- Croire que
"False"est identique àFalse: le premier est un texte, le second un booléen. - Utiliser
int()sur un texte non numérique : cela provoque une erreur.
Astuces & pour aller plus loin
- Utilisez
print()très souvent pendant vos essais. - Ajoutez
print(type(variable))dès qu’un comportement vous semble étrange. - Donnez à vos variables des noms descriptifs comme
prix_unitaireouage_utilisateur. - Quand vous affichez un nombre dans une phrase, pensez immédiatement à
str(). - Quand vous récupérez une valeur avec
input()pour faire un calcul, pensez immédiatement àint()oufloat(). - Testez de très petits morceaux de code plutôt qu’un grand bloc écrit d’un seul coup.
- Comparez systématiquement ce que vous croyez avoir stocké et ce que Python a réellement stocké.
Questions fréquentes
Quelle est la différence entre 5 et "5" en Python ?
La valeur 5 est un entier de type int. La valeur "5" est une chaîne de caractères de type str. La première sert directement aux calculs, la seconde représente du texte.
Pourquoi input() ne me donne-t-il pas directement un nombre ?
Parce que input() renvoie une chaîne de caractères. Si vous voulez utiliser la valeur comme entier ou décimal, vous devez la convertir avec int() ou float().
Quand faut-il utiliser str() ?
Utilisez str() lorsque vous voulez transformer une valeur en texte, surtout pour l’afficher dans une phrase ou la concaténer avec une autre chaîne.
Comment savoir quel type possède une variable ?
Utilisez type(variable). Cette fonction permet de vérifier rapidement si une donnée est un entier, un décimal, une chaîne ou un booléen.
Peut-on changer le type d’une variable ?
Oui. Vous pouvez soit convertir sa valeur avec une fonction comme int(), float() ou str(), soit réaffecter à la variable une nouvelle valeur d’un autre type.
Pourquoi int("3.14") provoque-t-il une erreur ?
Parce que "3.14" représente un nombre décimal sous forme de texte, pas un entier valide pour int(). Il faut d’abord utiliser float("3.14") si vous souhaitez obtenir une valeur numérique décimale.
Conclusion
Comprendre les variables, les types de données et les conversions en Python est une étape incontournable pour bien débuter. Une variable vous permet de stocker une information sous un nom clair. Le type indique à Python comment traiter cette information. Et la conversion permet de transformer une donnée pour l’utiliser dans le bon contexte, par exemple convertir un texte en nombre pour un calcul, ou un nombre en texte pour l’affichage.
Si vous retenez quelques idées essentielles, retenez celles-ci : input() renvoie du texte, type() vous aide à comprendre ce que contient une variable, et les fonctions int(), float() et str() résolvent une grande partie des problèmes courants liés aux types. Avec ces bases, vous êtes déjà capable d’écrire de petits programmes plus propres, plus fiables et plus faciles à faire évoluer.
Le meilleur moyen de progresser est maintenant de pratiquer. Reprenez les exemples de ce tutoriel, modifiez les valeurs, testez d’autres entrées, provoquez volontairement quelques erreurs puis corrigez-les. En programmation, la compréhension vient souvent par l’expérimentation. Une fois ces notions bien acquises, vous serez prêt à aborder les conditions, les boucles et les fonctions avec beaucoup plus de confiance.