Les valeurs de base
- Leçon 4
- 35 min
- Module 2 : Valeurs et flux de contrôle
Leçon 4 sur 18 · Python pour l'ingénierie de l'IA en pratiqueLes valeurs de base
1. Bases de l'ordinateur et de l'environnement
2. Valeurs et flux de contrôle
3. Fonctions et structure du programme
4. Fichiers, données et services externes
5. Débogage et fiabilité
6. Du carnet Jupyter au projet facile à maintenir
Ce que vous saurez faire
Stockez les faits sur un billet de soutien dans des variables. Convertissez le texte en nombres pour faire des calculs. Les données des fichiers arrivent toujours sous forme de texte. Cette conversion est donc la première étape de chaque programme de ce cours.
Carnet JupyterFaites cette leçon dans un carnet
Le carnet (notebook) Jupyter contient tous les exemples, exercices et vérifications de cette leçon, avec les consignes. Il ne demande aucune installation ni aucun projet local : seulement Python. Lisez les explications ici et exécutez le code dans le carnet.
Le carnet est en anglais. Colab et Kaggle ouvrent votre propre copie. Il faut un compte Google ou Kaggle gratuit. Vous êtes bloqué ? Consultez le carnet de solution.
Avant de commencerCe qu’il faut savoir et avoir sous la main
Ce que vous devez savoir
- Comment exécuter un script dans le terminal, selon Installer et vérifier Python : exemple détaillé. Vous n’avez pas encore besoin de connaître Python.
Ce qu’il vous faut sur votre ordinateur (seulement pour le parcours local; le carnet et les encadrés de cette page n’en ont pas besoin)
- L’environnement
.venvdu projet, activé dans votre terminal (l’invite commence par(.venv)). Vous l’avez créé dans Isoler les dépendances : exercice guidé. S’il manque ou ne fonctionne plus, supprimez-le et recréez-le à partir du fichier de verrouillage. Suivez Recréer l’environnement à partir de zéro. - La vérification pratique à la fin crée
ticket_values.pydans~/projects/ticket-cleaner. - Les encadrés de cette leçon exécutent Python dans votre navigateur. La première fois que vous appuyez sur Run (exécuter), la page télécharge Python (environ 13 Mo). Vous pouvez aussi saisir le code dans un fichier
.pyet l’exécuter dans votre terminal. Le résultat est le même.
Testé avec Python 3.14 (terminal) et Pyodide 314.0 (navigateur). Le carnet a été testé dans Jupyter.
Un billet, cinq sortes de valeurs
Section intitulée « Un billet, cinq sortes de valeurs »Voici un billet de soutien, tel qu’une personne le note :
Billet T-1042, priorité 2, ouvert depuis 3,5 heures, urgent : oui, attribué à : personne pour l’instant.
En Python, chaque fait est une valeur, et chaque valeur a un type. Le type détermine ce que vous pouvez faire avec la valeur. Vous pouvez additionner deux nombres, mais pas un nombre et un nom.
ticket_id = "T-1042"priority = 2hours_open = 3.5is_urgent = Trueassigned_to = None| Variable | Valeur | Type | À quoi sert le type |
|---|---|---|---|
ticket_id |
"T-1042" |
str (chaîne de caractères) |
Du texte. Il est toujours entre guillemets. |
priority |
2 |
int (entier) |
Des nombres entiers. |
hours_open |
3.5 |
float (nombre à virgule flottante) |
Des nombres avec une partie décimale. |
is_urgent |
True |
bool (booléen) |
Seulement deux valeurs : True (vrai) ou False (faux). |
assigned_to |
None |
NoneType |
« Aucune valeur ». Ici : pas encore attribué. |
Une variable est un nom qui désigne une valeur. Le signe = ne signifie pas « est égal à ». Il signifie « ce nom désigne cette valeur ». Vous lisez priority = 2 comme « priority désigne 2 ».
Exécutez du Python dans votre navigateur
Voir le type de chaque valeur
Appuyez sur Run. Chaque ligne montre une valeur et son type. Remplacez ensuite priority = 2 par priority = "2" et exécutez le code à nouveau. Quel est le type maintenant?
Tab ajoute quatre espaces. Appuyez sur Esc, puis sur Tab, pour quitter la zone. Ctrl+Enter exécute le code.
Une variable peut changer
Section intitulée « Une variable peut changer »Une variable désigne une seule valeur à la fois. Quand vous utilisez = à nouveau, le nom désigne la nouvelle valeur. Python exécute les lignes de haut en bas. Vous pouvez donc suivre la valeur étape par étape :
hours_open = 3.5hours_open = hours_open + 2hours_open = hours_open * 2| Après la ligne | hours_open |
Pourquoi |
|---|---|---|
| 1 | 3.5 |
La première valeur. |
| 2 | 5.5 |
Python calcule d’abord le côté droit (3.5 + 2), puis associe le résultat au nom. |
| 3 | 11.0 |
5.5 * 2. Le résultat d’un calcul avec un float est un float. |
Un tableau comme celui-ci, avec une ligne par ligne de code, est un tableau d’état. Quand le code fait quelque chose d’inattendu, créez-en un. Il montre où votre idée et les étapes de Python diffèrent.
Les nombres
Section intitulée « Les nombres »Python calcule avec les signes habituels : +, -, * (multiplier) et / (diviser). Trois autres sont utiles :
| Code | Résultat | Signification |
|---|---|---|
7 / 2 |
3.5 |
Division. Le résultat est toujours un float, même pour 6 / 2 (3.0). |
7 // 2 |
3 |
Division entière : combien de fois 2 entre au complet dans 7. |
7 % 2 |
1 |
Le reste après la division entière. |
round(3.14159, 2) |
3.14 |
Arrondir à 2 décimales. |
Python stocke un float en binaire. Certains nombres décimaux ne sont donc pas exacts. 0.1 + 0.2 donne 0.30000000000000004. Pour les heures et les scores, cela n’a pas d’importance. Utilisez round() quand vous affichez le résultat. (Pour l’argent, il existe de meilleurs outils, dont ce cours n’a pas besoin.)
Le texte
Section intitulée « Le texte »Une chaîne de caractères (str) est du texte entre guillemets. Les guillemets simples et doubles fonctionnent de la même façon : "open" (ouvert) et 'open' représentent la même chaîne. Les chaînes ont des méthodes : des actions que vous appelez avec un point après la valeur. Une méthode vous donne une nouvelle chaîne. Elle ne change pas l’originale.
raw_status = " Open "status = raw_status.strip().lower() # "open"strip() retire les espaces au début et à la fin, et lower() met toutes les lettres en minuscules. Les données saisies contiennent souvent des espaces en trop et un mélange de majuscules et de minuscules. Vous utilisez donc souvent ces deux méthodes. Le texte après # est un commentaire. Python l’ignore. C’est une note pour la personne qui lit le code.
Pour insérer des valeurs dans du texte, utilisez une chaîne formatée (f-string) : une chaîne avec f avant le guillemet. Python remplace chaque nom entre { } par sa valeur :
print(f"Ticket {ticket_id} has priority {priority}.")Ticket T-1042 has priority 2.True, False et None
Section intitulée « True, False et None »Une comparaison donne un bool : True ou False.
| Code | Résultat | Signification |
|---|---|---|
priority == 2 |
True |
Est égal à. Deux signes =. Un seul = associe un nom à une valeur. |
priority != 2 |
False |
N’est pas égal à. |
hours_open > 24 |
False |
Est supérieur à. Il y a aussi <, >= et <=. |
priority == 1 or hours_open > 24 |
False |
True si au moins un côté est True. |
is_urgent and assigned_to is None |
True |
True seulement si les deux côtés sont True. |
not is_urgent |
False |
L’inverse. |
None signifie « il n’y a aucune valeur ». C’est différent de 0 et de la chaîne vide "". Un billet avec la priorité 0 a une priorité. Un billet avec la priorité None n’en a pas. Pour vérifier cette absence, utilisez is None ou is not None.
Convertir le texte en nombres
Section intitulée « Convertir le texte en nombres »Quand Python lit un fichier, chaque valeur arrive sous forme de chaîne, même les nombres. "2" est du texte qui ressemble à un nombre, et vous ne pouvez pas calculer avec. Convertissez-le d’abord :
| Code | Résultat | Note |
|---|---|---|
int("2") |
2 |
Du texte en nombre entier. |
float("3.5") |
3.5 |
Du texte en nombre décimal. |
str(2) |
"2" |
Un nombre en texte. |
int("2.5") |
erreur | int() accepte seulement du texte représentant un entier. Utilisez d’abord float(). |
int("three") |
erreur | Le texte n’est pas un nombre. Vous apprendrez à gérer cela au module 5. |
Exécutez du Python dans votre navigateur
Convertir, puis calculer
Appuyez d’abord sur Run et lisez l’erreur. Corrigez ensuite les deux lignes de conversion pour obtenir Priority 2: 20.5 hours left (priorité 2 : 20,5 heures restantes). L’encadré vérifie votre résultat.
Tab ajoute quatre espaces. Appuyez sur Esc, puis sur Tab, pour quitter la zone. Ctrl+Enter exécute le code.
Choisir des noms qui expliquent la valeur
Section intitulée « Choisir des noms qui expliquent la valeur »Python accepte presque tous les noms. Les personnes qui lisent votre code ont besoin de plus que cela. Un bon nom indique ce que représente la valeur, sans que la personne ait à le déduire.
| Au lieu de | Écrivez | Pourquoi |
|---|---|---|
x, val, data2 |
hours_open |
Indique ce que représente la valeur. |
h |
hours_open |
Indique l’unité. hours_open = 3.5 ne peut pas représenter des minutes. |
flag |
is_urgent |
Un nom qui commence par is_ ou has_ se lit comme une question oui/non. |
hoursOpen |
hours_open |
Le style Python utilise des minuscules avec _ entre les mots. |
Les noms distinguent les majuscules et les minuscules : Priority et priority sont deux variables différentes. Un nom ne peut pas commencer par un chiffre ni contenir d’espaces ou de -.
À vous de jouer : des heures aux jours
Section intitulée « À vous de jouer : des heures aux jours »Un billet est ouvert depuis "50" heures. La valeur est du texte, car elle vient d’un fichier. Écrivez du code qui affiche cette ligne :
T-1042 has been open for 2 days and 2 hours.Utilisez // et %. Donnez à chaque variable un nom qui indique ce qu’elle représente et son unité.
Exécutez du Python dans votre navigateur
À vous de jouer : des heures aux jours
La vérification cherche une variable de type int dont le nom se termine par days (jours).
Tab ajoute quatre espaces. Appuyez sur Esc, puis sur Tab, pour quitter la zone. Ctrl+Enter exécute le code.
Afficher une réponse
ticket_id = "T-1042"hours_text = "50"
total_hours = int(hours_text)full_days = total_hours // 24extra_hours = total_hours % 24
print(f"{ticket_id} has been open for {full_days} days and {extra_hours} hours.")50 // 24 donne 2 (deux jours complets), et 50 % 24 donne 2 (les heures restantes).
Erreur courante
can only concatenate str (not « int ») to str — peut seulement joindre une chaîne, pas un entier, à une chaîne
Symptôme : une ligne qui joint du texte et un nombre arrête le programme :
print("Priority: " + priority)TypeError: can only concatenate str (not "int") to strCause : + additionne deux nombres ou joint deux chaînes. Il ne peut pas joindre une chaîne à un nombre, car Python ne devine pas ce que vous voulez. L’erreur inverse arrive aussi : "2" + 2 quand une valeur provenant d’un fichier est encore du texte. Concaténer signifie « joindre du texte ».
Solution : décidez du type dont vous avez besoin.
- Pour afficher un nombre dans du texte, utilisez une chaîne formatée :
print(f"Priority: {priority}"). - Pour calculer avec du texte qui contient un nombre, convertissez-le d’abord :
int(priority_text) + 2. - Si vous ne connaissez pas le type d’une valeur, affichez-le :
print(type(priority)).
Vérifiez votre compréhension
Prédisez le résultat de chaque ligne avant de l'exécuter : print(7 / 7), print(7 // 2), print(« 7 » * 2).
Afficher la réponse
1.0, 3 et 77. La division avec / donne toujours un float. // donne la partie entière. * avec une chaîne répète le texte : "7" deux fois donne "77", pas 14. C’est une autre raison de convertir le texte des fichiers avant de calculer.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Un fichier contient la valeur « False » dans sa colonne is_urgent. Que donne bool(« False »), et pourquoi est-ce un problème?
Afficher la réponse
Cela donne True. bool() appliqué à une chaîne donne False seulement pour la chaîne vide "". Toutes les autres chaînes, y compris "False" et "no" (non), donnent True. Pour lire du texte oui/non, comparez plutôt le texte : is_urgent = urgent_text.strip().lower() == "true".
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Vérification pratique : dans votre projet ticket-cleaner, créez ticket_values.py. Partez des valeurs textuelles « T-1042 », « 2 » et « 3.5 », puis convertissez-les. Affichez une ligne avec une chaîne formatée contenant l'identifiant du billet, la priorité et les heures restantes avant l'échéance de 24 heures.
Afficher la réponse
Une réponse :
ticket_id = "T-1042"priority = int("2")hours_open = float("3.5")hours_left = 24 - hours_open
print(f"{ticket_id}: priority {priority}, {hours_left} hours left")Exécutez-le avec python ticket_values.py dans l’environnement activé. Le résultat est T-1042: priority 2, 20.5 hours left (T-1042 : priorité 2, 20,5 heures restantes).
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Récapitulatif
- Chaque valeur a un type :
str,int,float,boolouNoneType. Le type détermine ce que vous pouvez faire avec. - Une variable est un nom qui désigne une valeur.
=associe une nouvelle valeur au nom. Un tableau d’état montre la valeur après chaque ligne. /donne toujours unfloat.//et%donnent la partie entière et le reste.- Vous devez convertir le texte des fichiers avec
int()oufloat()avant de calculer. Utilisez des chaînes formatées pour insérer des valeurs dans du texte. Nonesignifie « aucune valeur ». Vérifiez cette absence avecis None.
Ensuite, vous garderez plusieurs valeurs ensemble : une liste de billets et un enregistrement pour chaque billet.
Leçon suivante : Les collections