
Dans ce chapitre, vous allez manipuler les bases de la logique de programme en Python : variables, types, structures de données (listes, dictionnaires, tuples, sets), conditions, boucles, fonctions et imports. L'objectif est de vous montrer comment ces éléments s'écrivent en Python. Vous allez avancer avec de petits blocs de code lisibles, centrés sur une notion à la fois.
Une variable permet de garder une information pour l'utiliser plus tard. En Python, vous n'avez pas besoin d'indiquer le type de l'information : l'interpréteur le déduit à partir de la valeur que vous donnez. Par exemple :
stock = 12Cette ligne crée une variable appeléestock. Elle contient la valeur12. Regardez les deux éléments importants :
stockest le nom de la variable ;
12est la valeur stockée.
Python comprend automatiquement questockcontient un nombre entier. Il n'y a pas de mot-clé de déclaration (int,var, etc.) et pas de point-virgule à la fin.
Vous pouvez ensuite afficher cette valeur dans la console :
stock = 12
print(stock)Quand ce programme s'exécute, la console affiche :
12La ligneprint(stock)n'affiche pas le mot"stock". Elle affiche la valeur contenue dans la variablestock.
Même si vous ne les déclarez pas, les variables Python ont bien un type. Voici les types de base que vous utiliserez souvent :
Type Python | Exemple | Utilisation |
|
| Stocker du texte |
|
| Stocker un nombre entier |
|
| Stocker un nombre décimal |
|
| Stocker une valeur vrai/faux |
Voici un exemple avec plusieurs variables :
product_name = "Sac à dos"
stock = 12
price = 45.90
available = True
print(product_name)
print(stock)
print(price)
print(available)Ce programme crée quatre variables, puis affiche leur contenu.
La variableproduct_namecontient du texte. Son type eststr. En Python, le texte s'écrit entre guillemets doubles" "ou simples' '— les deux fonctionnent.
La variablestockcontient un nombre entier. Son type estint.
La variablepricecontient un nombre décimal. Son type estfloat.
La variableavailablecontient une valeur vrai/faux. Son type estbool. Attention : en Python, les valeurs booléennes s'écriventTrueetFalse— avec une majuscule.
Vous pouvez vérifier le type d'une variable à l'exécution avec la fonctiontype:
print(type(stock))La console affiche :
<class 'int'>Vous pouvez afficher une variable seule, mais vous pouvez aussi l'intégrer dans un message. La façon la plus lisible en Python moderne est d'utiliser une f-string (chaîne formatée) :
stock = 12
print(f"Stock disponible : {stock}")La console affiche :
Stock disponible : 12Dans cette ligne, la lettrefavant les guillemets indique une f-string. Tout ce qui est placé entre accolades{...}est remplacé par la valeur de l'expression qu'elles contiennent.
Vous pouvez faire la même chose avec plusieurs variables :
product_name = "Sac à dos"
stock = 12
print(f"Produit : {product_name}")
print(f"Stock disponible : {stock}")Ce programme affiche :
Produit : Sac à dos
Stock disponible : 12Vous pouvez aussi passer plusieurs valeurs àprintséparées par des virgules —printles affichera séparées par un espace :
print("Produit :", product_name)Pour stocker plusieurs valeurs, Python propose plusieurs structures. La plus fréquente est la liste (list) : une structure ordonnée dont la taille peut évoluer.
products = ["Sac à dos", "Carnet", "Stylo"]La variableproductscontient trois textes.
La ligne suivante affiche le premier élément de la liste :
print(products[0])La console affiche :
Sac à dosVous pouvez ajouter, retirer ou parcourir des éléments :
products = ["Sac à dos", "Carnet", "Stylo"]
products.append("Gomme")
for product in products:
print(product)La console affiche :
Sac à dos
Carnet
Stylo
GommeLa lignefor product in products:signifie : pour chaqueproductdans la listeproducts. À chaque tour, la variableproductcontient un élément différent de la liste.
Un dictionnaire (dict) permet d'associer des clés à des valeurs. C'est très utile pour représenter une information structurée, comme un produit avec plusieurs caractéristiques :
product = {
"name": "Sac à dos",
"price": 45.90,
"stock": 12,
}
print(product["name"])
print(product["price"])La console affiche :
Sac à dos
45.9On accède à une valeur par sa clé, entre crochets. On peut aussi ajouter ou modifier une clé :
product["available"] = TrueLes dictionnaires sont partout en Python : ils servent à représenter des objets simples, à structurer des données lues depuis un fichier JSON, etc.
Deux autres structures reviennent souvent :
Le tuple (tuple) ressemble à une liste, mais il est immuable : une fois créé, on ne peut pas le modifier. Il s'écrit entre parenthèses. On l'utilise pour regrouper quelques valeurs qui vont ensemble.
L'ensemble (set) est une collection sans doublons et non ordonnée. Il s'écrit entre accolades.
coordinates = (48.85, 2.35) # tuple : latitude, longitude
print(coordinates[0])
tags = {"promo", "nouveau", "promo"}
print(tags)La console affiche :
48.85
{'promo', 'nouveau'}Notez quetagsne contient qu'une seule fois"promo": les doublons sont automatiquement écartés.
ifUne condition permet au programme de choisir quoi faire selon une situation. En Python, vous pouvez écrire une condition avecif. Voici un exemple simple :
stock = 12
if stock > 0:
print("Produit disponible")Ce programme vérifie si le stock est supérieur à0. La condition est écrite ici :
if stock > 0:Vous pouvez la lire ainsi : « sistockest supérieur à0». Si la condition est vraie, Python exécute le bloc indenté qui suit. Ici, il exécute cette ligne :
print("Produit disponible")La console affiche donc :
Produit disponibleSistockvalait0, la condition serait fausse et ce message ne serait pas affiché.
Remarquez trois choses par rapport à Java :
il n'y a pas de parenthèses autour de la condition ;
il y a un deux-points :à la fin de la ligne ;
le bloc conditionnel est délimité par l'indentation, pas par des accolades.
elifetelseSouvent, vous voudrez tester plusieurs cas de suite. Python introduit pour cela un mot-clé propre au langage :elif— contraction de else if — qui permet de tester une nouvelle condition si la précédente est fausse. Vous pouvez enchaîner autant deelifque nécessaire, et terminer par unelsequi couvre tous les cas restants.
Par exemple :
stock = 0
if stock > 10:
print("Bien approvisionné")
elif stock > 0:
print("Stock faible")
else:
print("Produit indisponible")Python évalue chaque condition dans l'ordre. La première qui est vraie fait exécuter son bloc, et Python passe à la suite du programme. Ici,stockvaut0: ni la première, ni la deuxième condition ne sont vraies, donc c'est le blocelsequi s'exécute.
La console affiche :
Produit indisponibleforUne boucle permet de répéter une action. En Python, la boucleforsert principalement à parcourir les éléments d'une liste, d'un dictionnaire ou d'une autre structure de données — pas à compter jusqu'à un nombre comme en Java.
products = ["Sac à dos", "Carnet", "Stylo"]
for product in products:
print(f"Produit : {product}")La console affiche :
Produit : Sac à dos
Produit : Carnet
Produit : StyloÀ chaque tour, la variableproductprend la valeur d'un élément différent de la liste.
Si vous avez besoin de répéter un nombre fixe de fois, vous pouvez parcourir une liste de nombres :
for i in [1, 2, 3]:
print(f"Produit numéro {i}")La console affiche :
Produit numéro 1
Produit numéro 2
Produit numéro 3Une fonction permet de regrouper une logique sous un nom. En Python, on définit une fonction avec le mot-clédef:
def display_product(product_name):
print(f"Produit : {product_name}")
display_product("Sac à dos")Quand le programme s'exécute, Python lit d'abord la définition de la fonction, puis exécute la ligne d'appel :
display_product("Sac à dos")Python exécute alors le code de la fonction :
def display_product(product_name):
print(f"Produit : {product_name}")La fonction reçoit le texte"Sac à dos"dans une variable appeléeproduct_name. Elle affiche ensuite ce nom dans la console.
La console affiche :
Produit : Sac à dosVous pouvez lire la déclaration de la fonction ainsi :
defindique le début d'une définition de fonction ;
display_productest le nom de la fonction ;
product_nameest le paramètre — le nom donné à la valeur reçue ;
le bloc indenté décrit ce que la fonction fait.
returnUne fonction peut aussi calculer une valeur et la retourner avecreturn:
def is_available(stock):
return stock > 0
available = is_available(12)
print(available)La fonctionis_availablereçoit un stock. Elle vérifie si ce stock est supérieur à0, puis retourne le résultat.
La ligne suivante appelle la fonction :
available = is_available(12)La valeur retournée est stockée dans la variableavailable. Comme12est supérieur à0, la fonction retourneTrue.
La console affiche :
TrueVous n'êtes pas obligé de tout écrire vous-même : Python est livré avec une bibliothèque standard riche (traitement de dates, calculs mathématiques, lecture de fichiers, etc.), et l'écosystème externe propose des dizaines de milliers de librairies installables viapip.
Pour utiliser du code d'un module — qu'il soit standard ou externe — vous devez l'importer en haut de votre fichier :
import math
print(math.sqrt(16))La ligneimport mathrend disponible le module standardmath. Vous pouvez ensuite utiliser ses fonctions avec la notationmath.<nom>. La console affiche :
4.0Vous pouvez aussi importer une fonction ou un objet précis :
from math import sqrt
print(sqrt(16))Pour utiliser une librairie externe (non fournie avec Python), vous devez d'abord l'installer dans votre environnement virtuel avecpip:
pip install requestsEnsuite, vous pouvez l'importer comme un module standard :
import requests
Votre équipe veut mettre en avant les plats à 10 € ou moins dans l’écran d’accueil. Voici le starter code : les prix sont déjà stockés dans une liste, il vous reste à écrire la fonction et la boucle.
# Étape 1 : écrivez ici la fonction is_cheap(price)
# qui retourne True si le prix est <= 10, False sinon
prices = [12.0, 8.0, 10.0, 6.0]
# Étape 2 : parcourez prices et affichez chaque prix abordableVotre mission :
Écrivez une fonctionis_cheap(price)qui retourneTruesi le prix est ≤ 10,Falsesinon. Inspirez-vous deis_availablevu dans le chapitre.
Parcourezpricesavecfor price in prices:, testez chaque valeur avecis_cheap, et affichez les prix retenus au formatPrix abordable : 8.0 €avec une f-string.
En Python, une variable prend son type automatiquement à partir de sa valeur (str,int,float,bool) ;printaffiche une valeur ou un message construit avec une f-string (f"...").
Les principales structures de données sont la liste, le dictionnaire, le tuple et l'ensemble — vous manipulerez surtout des listes et des dictionnaires.
if,elifetelsechoisissent un chemin selon une condition ; la bouclefor x in ...parcourt une structure de données.
Une fonction se définit avecdef; elle peut recevoir des paramètres et retourner une valeur avecreturn.
Les imports (import ...,from ... import ...) donnent accès à des modules standard ou externes ; les librairies externes s'installent avecpipdans votre.venv.
Vous savez maintenant traduire les bases de la logique de programme en syntaxe Python. Dans le prochain chapitre, vous allez organiser ces éléments avec les bases de la programmation orientée objet : classes, objets, attributs, méthodes et encapsulation.