Programmation Python
[Link] Oualid
MST - IQMA - S1
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima – oualidbellalipro@[Link]
Déroulement du cours
Chapitre 1 : Introduction
Chapitre 2 : Les bases de la programmation python
Instructions de base : lecture/écriture
Les variables
Les opérateurs
Structure conditionnelle
Structure itérative / boucle
L’instruction : break
L’instruction : continue
Chapitre 3 : Fonctions & Modules
Fonctions
Modules
Chapitre 4 : Structures de données
Les types séquentiels : chaines de caractères, listes, tuples
Les types de correspondance : dictionnaire
Chapitre 5 :
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Chapitre 1 : Introduction
Langages de Programmation: Un peu de vocabulaire
Langage de programmation
Un langage de programmation est un
langage utilisé pour écrire des
programmes destinés à l’ordinateur. Il
permet de donner des instructions afin
de résoudre des problèmes, effectuer
des calculs ou automatiser des tâches
(afficher, décider, répéter…).
Exemples de langages : Python, C, Java.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Code Source:
Le code source est un ensemble de
fichiers texte contenant les instructions
écrites par un programmeur dans un
langage de programmation
compréhensible par l’humain. Une fois
rédigé, il est transformé en code binaire,
exécutable par le microprocesseur.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Le langage machine
est un ensemble d’instructions et de données
codées en binaire, directement interprétées
par le processeur. Chaque processeur
possède son propre langage machine,
spécifique et généralement incompatible
avec les autres. Aujourd’hui, le code machine
est produit automatiquement par des
compilateurs ou à partir de bytecode.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
ByteCode:
Le bytecode est un code intermédiaire entre le
code source et le code machine, non directement
exécutable par le processeur. Codé en binaire, il
peut être stocké en mémoire ou dans un fichier et
sert à réduire la dépendance au matériel. Il facilite
l’exécution sur différentes architectures et est
utilisé par certains compilateurs et langages
avant la transformation finale en code machine.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
compilateur vs interpreteur
Traduit tout le programme en code machine avant
Principe Traduit et exécute le programme ligne par ligne
l’exécution
Moment de la traduction Avant l’exécution Pendant l’exécution
Vitesse d’exécution Rapide (code déjà traduit) Plus lente (traduction à chaque exécution)
Détection des erreurs Toutes les erreurs sont détectées avant l’exécution Les erreurs sont détectées au moment de l’exécution
Fichier généré Génère un fichier exécutable Ne génère pas de fichier exécutable
Exemples de langages C, C++, Rust Python, JavaScript, PHP
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Python est à la fois compilé et interprété pour profiter des
avantages des deux méthodes.
D’abord, le code Python est compilé en bytecode, ce qui rend
le programme plus rapide à exécuter qu’en lisant le code
source ligne par ligne et permet de vérifier les erreurs de
syntaxe avant l’exécution.
Ensuite, ce bytecode est interprété par la machine virtuelle
Python, ce qui rend Python portable et indépendant de la
plateforme : le même bytecode peut s’exécuter sur Windows,
Linux ou macOS sans recompilation.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Definition
Python est un langage portable, dynamique, extensible, gratuit, qui permet (sans
l’imposer) une approche modulaire et orientée objet de la programmation. Python est
développé depuis 1989 par Guido van Rossum et de nombreux contributeurs bénévoles.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
popularité générale 2025
Python Java C++ SQL C# JavaScript TypeScript C Shell
Go R PHP Kotlin Rust Dart
1.0
0.8
0.6
0.4
0.2
0.0
++
n
va
l
C
P
o
st
t
on
R
#
el
rip
rip
ar
tli
SQ
PH
C
Ru
Sh
Ja
th
D
Ko
Sc
Sc
Py
va
pe
Ja
Ty
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Pourquoi le langage python ?
❑ Polyvalence: Python peut être utilisé dans de nombreux domaines.
❑ Écosystème: La vaste collection de bibliothèques disponibles pour Python.
❑ Communauté: La grande communauté de développeurs Python.
❑ Productivité: Python permet de développer rapidement des applications.
❑ Lisibilité: Le code Python est facile à lire et à comprendre.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Domaines des Frameworks Python
Django
➜ Développement web complet (applications robustes et sécurisées)
Flask
➜ Développement web léger et APIs REST
FastAPI
➜ APIs performantes et applications orientées données
Streamlit
➜ Applications web interactives pour la data science et le machine learning
Qt (PyQt / PySide)
➜ Applications de bureau (interfaces graphiques multiplateformes)
Tkinter
➜ Interfaces graphiques simples et applications desktop basiques
TensorFlow
➜ Intelligence artificielle et deep learning
PyTorch
➜ Recherche en IA et deep learning avancé
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Bibliothèques
Python & usages
NumPy Seaborn
Calcul scientifique Visualisation statistique
Pandas Scikit-learn
Analyse de données Machine learning
Matplotlib OpenCV
Visualisation Vision par ordinateur
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Chapitre 2 :
Les bases du programmation
python
Structuration d’un programme en Python
• Un programme Python est un fichier texte composé de blocs
d'instructions plus ou moins long, au minimum une ligne.
• Le passage d'une instruction à l'autre se fait
par retour à la ligne ou en insérant un pointvirgule ' ; '
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Structuration d’un programme en Python
[Link] Python, les blocs d’instructions ne sont pas délimités par des mots (endIf, enfFor) ni par
des symboles, mais par des lignes indentées (décalées) d’un nombre fixe de caractères (4
espaces ou une tabulation en général)
a.• On peut indenter « à la main » en appuyant4 fois sur la barre espace, ou une fois sur
latouche de tabulation.
b.• il ne faut pas mélanger espaces ettabulations. On utilisera soit l'un, soit l'autre.
c.• Une mauvaise indentation va provoquer des erreurs.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Utilser Python comme une calculette
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
commentaires
Pour une meilleure lisibilité des programmes, il faut le documenter.
On insère des commentaires en utilisant le caractère # en début de
commentaire, Exemple de script commenté :
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Variables
Une variable est une zone de la mémoire de l’ordinateur dans
laquelle une valeur est stockée
Aux yeux du programmeur, cette variable est définie par un
nom, alors que pour l’ordinateur, il s’agit en fait d’une adresse
En Python, la déclaration d’une variable et son initialisation
(c’est-à-dire la première valeur que l’on va stocker dedans)se
font en même temps
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Variables
Dans l’exemple précèdent, nous avons déclaré, puis initialisé la
variable x avec la valeur 2.
Notez bien qu’en réalité, il s’est passé plusieurs choses :
Python a « deviné » que la variable était un entier. On dit que Python
est un langage au typage dynamique.
Python a alloué (réservé) l’espace en mémoire pour y accueillir un
entier. Chaque type de variable prend plus ou moins d’espace en
mémoire. Python a aussi fait en sorte qu’on puisse retrouver la
variable sous le nom x.
Enfin, Python a assigné la valeur 2 à la variable x.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Variables
nom_de_variable = valeur
Affectation multiple
a, b, c = 2, 4.3, "ahmed"
a est assigné à la valeur 2 (un entier).
b est assigné à la valeur 4.3 (un nombre à virgule flottante).
c est assigné à la chaîne de caractères "ahmed".
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Variables
On peut convertir une variable d'un type à un autre en utilisant des fonctions de
conversion.
Convertir un entier en chaîne de caractères :
Convertir une chaîne en entier :
Convertir un nombre décimal en entier :
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Variables
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Variables
Déterminer le Type d'une Variable
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Variables
Noms de variables et mots réservés
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
La fonction : print
C’est une fonction qui permet d’afficher les éléments passés comme arguments de
la fonction
Syntaxe générale Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
La fonction : input
C’est une fonction qui permet à l’utilisateur d’un programme de saisir des valeurs à l’aide de
son clavier
La fonction input() renvoie une valeur de type chaine de caractères, pour faire des calculs
sur la valeur saisie, il faut la convertir à un entier avec la fonction int (nom_variable) ou un
réel avec la fonction float(nom_variable)
Syntaxe générale Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Opérateurs et expressions
Opérateurs arithmétiques Opérateurs logiques Opérateurs arithmétiques
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Opérateurs et expressions
C’est l’opération qui permet d’attribuer à une variable une valeur simple ou résultante
d’une expression arithmétique :
Une affectation multiple c’est attribuer à plusieurs variables une seule valeur avec une
seule affectation.
Une affectation parallèle c’est affecter des valeurs à plusieurs variables en parallèle.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
THE ROLE OF INNOVATION IN DYNAMIC MARKETING
C’est une comparaison de deux valeurs de même type en
Expression logique
utilisant un opérateur de comparaison.
simple
La valeur d’une expression logique est de type booléen (vrai
ou faux)
Exemple
A==B
A<=4
Expression logique C’est une combinaison entre deux expressions logiques
complexe simples en utilisant un opérateur logique.
La valeur d’une expression logique complexe est de type
booléen (vrai ou faux)
Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Installation
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Installation
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Installation
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Installation
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Installation
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Installation
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Installation
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Installation
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Installation
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Installation
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Installation
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
Écris un programme Python qui :
Déclare deux variables a et b avec les valeurs 7 et 3.
Ajoute un commentaire sur une ligne expliquant ce que fait le programme.
Ajoute un commentaire multiligne (triple quotes) pour décrire les étapes.
Affiche la somme de a et b.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
Écris un programme Python qui :
Déclare une variable x de type chaîne avec la valeur "45".
Convertis-la en entier et stocke le résultat dans y.
Déclare une variable z égale à 12.8 (float).
Convertis z en entier (transtypage explicite) et stocke dans w.
Affiche y, w et le type de w.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
Tu as deux variables : nom = "Alice" et age = 25.
Affiche les phrases suivantes en utilisant deux méthodes
différentes :
1. Avec des virgules dans print.
2. Avec une f-string.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
On demande à l’utilisateur d’entrer son nom à l’aide de input(),
puis on affiche un message de bienvenue avec print()
Bienvenue (nom)
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
On demande à l’utilisateur son prénom et son métier, puis on
affiche une phrase personnalisée en utilisant les valeurs
saisies.
Je suis ----- et je travaille comme -----
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
Ecrire un programme qui demande à l'utilisateur de taper la largeur
et la longueur d'un rectangle et qui en affiche le périmètre et la
surface.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
Ecrire un programme qui demande à l'utilisateur de saisir deux
réels X et Y, et qui affiche la puissance X^Y.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
Ecrire un programme qui demande à l'utilisateur de saisir 2 entiers
A et B, qui échange le contenu des variables A et B puis qui affiche
A et B.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
La structure conditionnelle : if
Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
La structure conditionnelle : if … else
Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
La structure conditionnelle : if … elif … else
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
La structure conditionnelle : if … elif … else
Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
Ecrire un programme qui retourne si deux nombres entiers donnés
sont de même signe ou non.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
Ecrire un programme qui échange les contenus de deux données
numérique si elles sont de même signe, sinon il met la somme des
deux dans la première donnée et leur produit dans la seconde.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
Un magasin facture 0,30 dh les dix premières photocopies, 0,25 dh
les vingt suivantes et 0,20 dh au-delà. Ecrire un programme qui
demande à l'utilisateur le nombre de photocopies effectuées et qui
affiche la facture correspondante.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
Ecrire un programme qui affiche la ou les solutions
d’une équation du second degré de la forme ax² + bx + c
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
Ecrire un programme qui demande à l'utilisateur de
saisir un nombre puis qui en fonction du nombre saisi :
– 6 : affiche « le personnage va à droite ».
– 4 : affiche « le personnage va à gauche ».
– 8 : affiche « le personnage va en haut ».
– 2 : affiche « le personnage va en bas ».
– dans le cas d’un autre caractère, affiche : « erreur de
saisie, le personnage ne bouge pas ».
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
L’instruction : match … case
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exercice
Ecrire un programme qui demande à l’utilisateur d’entrer le nom
d’un jour de la semaine et qui affiche son rang dans la semaine :
Lundi : affiche « 1er jour de la semaine »
Mardi : affiche « 2ème jour de la semaine »
Mercredi : affiche « 3ème jour de la semaine »
Jeudi : affiche « 4ème jour de la semaine »
Dans le cas d’un autre choix, afficher : « choix introuvable ».
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
L’instruction : match … case
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
La boucle for
Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
La boucle for
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
La boucle for
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
for
Ecrire un algorithme qui demande un nombre de départ, et qui
ensuite écrit la table de multiplication de ce nombre,
présentée comme suit (cas où l'utilisateur entre le nombre 7) :
Table de 7 : 7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
…
7 x 10 = 70
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
for
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
for
Ecrire un algorithme qui demande un nombre de départ, et
qui calcule sa factorielle.
NB : la factorielle de 8, notée 8 !, vaut
1x2x3x4x5x6x7x8
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
for
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
La boucle while
Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
La boucle while
Ecrire un script python qui demande à l’utilisateur
d’introduire un ensemble des valeurs numériques puis
calculer et afficher leur carré.
Le script s’arrête une fois l’utilisateur introduit la valeur 0.
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
La boucle while
Ecrire un algorithme qui demande un nombre compris
entre 10 et 20, jusqu’à ce que la réponse convienne. En
cas de réponse supérieure à 20, on fera apparaître un
message : « Plus petit ! », et inversement, « Plus grand ! »
si le nombre est inférieur à 10
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les boucles
Solution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les instructions break et continue
L’instruction break
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les instructions break et continue
Exemple avec la boucle for Exemple avec la boucle while
Résultat d’exécution Résultat d’exécution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les instructions break et continue
L’instruction continue
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les instructions break et continue
Exemple avec la boucle for Exemple avec la boucle while
Résultat d’exécution Résultat d’exécution
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Chapitre 3 :
Fonctions & Modules
Fonctions
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Fonctions
En programmation, les fonctions sont très utiles pour réaliser plusieurs
fois la même opération au sein d’un programme.
Elles rendent également le code plus lisible et plus clair en le
fractionnant en blocs logiques.
Pour définir une fonction, Python utilise le mot-clé def. Si on souhaite que
la fonction renvoie quelque chose, il faut utiliser le mot-clé return
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Fonctions
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Fonctions
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Fonctions
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Code Source:
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Code Source:
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Exemple
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les fonctions récursives
Exemple d’une fonction
calculant la factorielle
d’un entier
Méthode itérative
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Les fonctions récursives
Exemple d’une fonction
calculant la factorielle
d’un entier
Méthode récursive
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Modules
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Modules
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Modules
Exemples des modules standards de python
Module math : il fournit un ensemble de fonctions permettant de réaliser des calculs mathématiques
complexes
Module random : il implémente des générateurs de nombres pseudo-aléatoires pour différentes
distributions
Module datetime : il fournit des classes pour manipuler de façon simple ou plus complexe des dates et
des heures
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Modules
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima