LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
1. Programmation Python
M. Elmehdi ADIL
Année universitaire 2021/2022
Université Hassan 1er
Faculté des Sciences et Techniques - Settat
Centre de Formation Continue
Licence Universitaire Professionnelle
Ingénierie Réseaux et Télécommunications "IRT"
2. M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
2
Plan
Chapitre I : Généralités
Chapitre II : Introduction à Python
Chapitre III : Bases de Python
III.1- Différents composants du langage de programmation Python
III.2- Structures de contrôle de flux
III.3- Fonctions
III.4- Chaînes de caractères
III.5- Listes
III.6- Dictionnaires
III.7- Tuples
III.8- Ensembles (sets et frozensets)
III.9- Fichiers
3. M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
3
Chapitre I : Généralités
4. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
4
Un algorithme est une suite d’instructions qui sont alignées l’une après l’autre dans une certaine
logique pour obtenir un résultat souhaité.
I.1- Algorithme :
Un algorithme n’est pas écrit dans un langage de programmation, il est écrit dans un langage qui
peut être compris par toute personne, il est donc indépendant du langage de programmation utilisé.
=> Il est important et constitue une très bonne introduction à la programmation.
=> Il transforme un problème en une solution.
5. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
5
Dans le monde réel, des algorithmes sont utilisés chaque jour pour chacune des actions que nous
effectuons. Prenons l’exemple d’un problème élémentaire :
Problème: J’ai soif Solution: 1) Prendre un verre qui se trouve dans un placard ;
2) Le mettre sous le robinet ;
3) Ouvrir le robinet ;
4) Attendre que le verre soit plein ;
5) Fermer le robinet ;
6) Boire.
Résolution de problème Exécution des instructions séquentielles l’une après l’autre jusqu’à la
résolution du problème.
6. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
6
Pour passer du problème à la solution, plusieurs étapes sont nécessaires (généralement trois à
quatre étapes) :
1. Analyse ;
2. Conception ;
3. Création de l’algorithme ;
4. Codage.
1. Analyse : est une phase de réflexion préalable pour déterminer précisément le problème. Elle
permet de découper le problème en une succession d’opérations simples pour arriver au résultat.
2. Conception : durant cette étape, on transforme les données en résultats. Elle consiste à mettre en
évidence la logique d’enchaînement de ces opérations élémentaires. Des organigrammes peuvent
être utilisés.
7. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
7
3. Création de l’algorithme : dans cette phase, les actions élémentaires sont mises en œuvre en
utilisant une notation spécifique.
4. Codage : au cours de cette dernière phase, des instructions doivent être rédigées afin d’aboutir à
la résolution du problème. Le codage, également appelé encodage, permettra de créer un fichier
contenant des instructions qui conduiront à la résolution du problème en utilisant un langage de
programmation (JAVA, C++, Python, ...). Cette étape peut être réalisée directement après la
conception, ou provenir de la traduction de l’algorithme en instructions spécifiques au langage de
programmation.
8. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
8
Parfois appelé logigramme, est une représentation graphique normalisée de l’enchaînement des
opérations et des décisions effectuées par un programme d’ordinateur.
Il utilise des symboles normalisés représentés ci-dessous :
I.2- Organigramme :
Symboles normalisés Commentaires
Appel du sous-programme
Lecture, écriture, entrées, sorties
Tests ou branchements conditionnels
9. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
9
Le sens par défaut des liens du flux d’exécution est :
Pour les liens verticaux : du haut vers le bas.
Pour les liens horizontaux : de gauche à droite.
Remarque : utilisation d’une flèche à l’extrémité du lien si le sens par défaut n’est pas respecté.
Début
Traitement 1
Traitement 2
Fin
Traitement 1
Traitement 2
Condition
Faux
Vrai
Exemples :
Séquence linéaire Séquence alternative «si…alors…sinon »
10. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
10
Un programme est une série d’instructions qui peuvent s’exécuter soit en séquence, ou en parallèle.
« Software » est un terme générique utilisé pour décrire les logiciels d’ordinateur.
I.3- C’est quoi un programme ?
Scripts, applications, programmes et un ensemble d’instructions sont tous des termes souvent
utilisés pour décrire un logiciel.
Le logiciel peut être classé en trois catégories :
Logiciel système ;
Logiciel de programmation ;
Logiciel d’application.
11. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
11
Logiciel système : inclut les pilotes de périphérique, les systèmes d’exploitation, les éditeurs de
texte, les compilateurs, les formateurs de disque et les utilitaires permettant à l’ordinateur de
fonctionner plus efficacement. Il sert comme base pour le logiciel d’application.
Logiciel de programmation : est un ensemble d’outils pour aider les développeurs à écrire des
programmes. Les différents outils disponibles sont les compilateurs, les éditeurs de liens, les
débogueurs, les interpréteurs et les éditeurs de texte.
12. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
12
Logiciel d’application : est destiné à effectuer certaines tâches. Les exemples de logiciels
d’application incluent les suites bureautiques, les applications de jeu, les systèmes de base de
données et les logiciels éducatifs. Il peut être un programme unique ou une collection de petits
programmes. Ce type est ce que les consommateurs considèrent le plus souvent comme
logiciel.
Les programmes sont utilisés dans divers domaines , tels que : Hôpitaux, banques, assurances,
contrôle de processus, éducation, recherche, transports, défense, application multimédias et les
systèmes de divertissement.
13. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
13
Les ordinateurs ne peuvent pas écrire des programmes par eux-mêmes car ils ne comprennent pas
les besoins humains, sauf si nous communiquons avec eux par le biais de ‘langages de
programmation’.
I.4- Langages de programmation :
I.4.1- Langage de machine :
C’est un langage informatique de bas niveau conçu pour être directement compréhensible par un
ordinateur.
Il est également appelé code machine.
Tous les programmes doivent être convertis à ce langage avant de pouvoir être exécutés.
14. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
14
Dans le langage machine, le programmeur doit entrer chaque commande et toutes les données
sous forme binaire, c’est-à-dire sous forme de suite d’octets, chaque octet étant composé d’une
succession de 8 bits et chaque bit étant représenté par 1 ou 0.
Parmi les inconvénients de ce langage :
-Impossible de l’utiliser car il est entièrement constitué de nombres ;
-Il ne dispose d’aucune fonction mathématique ;
-Les emplacement de mémoire sont manipulés directement, ce qui oblige le programmeur
à garder une trace de chaque emplacement de mémoire.
Exemple : Une commande en langage machine comportant 4 octets
11001010 00010111 11110101 00101011
15. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
15
I.4.2- Langage assembleur :
C’est un langage de bas niveau proche du langage machine.
Il peut être directement interprété par le microprocesseur de l’ordinateur tout en restant lisible
par un humain.
Il consiste à représenter les combinaisons de bits employées en langage binaire par des symboles
alphanumériques, également appelés mnémoniques, afin de faciliter leur mémorisation et
utilisation.
Exemple : Addition
ADD 5, 7
L’utilisation des mnémoniques est un avantage par rapport au langage machine.
16. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
16
Le programmeur code ses programmes en langage assembleur, ceux-ci sont ensuite transcrits par
un logiciel appelé assembleur en langage machine, puis exécutés par l’ordinateur.
Parmi les inconvénients de ce langage :
-L’écriture de code pourrait être longue ;
-Les erreurs ne sont pas faciles à repérer et supprimer ;
-Le résultat n’est pas portable vers une autre architecture.
I.4.3- Langage de haut niveau :
Le langage haut niveau ressemble plus au langage humain et moins au langage machine.
Il permet aux programmeur de se concentrer uniquement sur le problème à résoudre.
17. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
17
Les langages de haut niveau sont indépendants de la plate-forme, ce qui signifie que les
programmes écrits dans un langage de haut niveau peuvent être exécutés sur différents types de
machines
Avantages:
+ Modification facile du code ;
+ Code portable, car il est conçu pour fonctionner sur plusieurs machines.
Un compilateur : est un logiciel système qui transforme un code source de haut niveau écrit par
un programmeur dans un langage de programmation de haut niveau en un langage machine de bas
niveau.
Ce processus de conversion est appelé compilation.
18. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
18
Il y a tout un paquet de langages de programmation, on cite comme exemple :
Pascal, Java, C++, Visual Basic (VB), Delphi, Python, Perl, PHP, JavaScript etc.
Impératif ;
Logique ;
Fonctionnel ;
Orienté Objet.
Un paradigme de programmation : est un style ou manière de programmer.
Les principaux paradigmes de programmation sont :
On peut montrer que tout ce qui peut être résolu en utilisant l’un de ces paradigmes peut être résolu
en utilisant les autres.
19. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
19
Programmation impérative : dans laquelle le programme décrit une séquence d’étapes qui
modifient l’état de l’ordinateur au fur et à mesure de leur exécution.
Paradigme logique : il est particulièrement adapté lorsqu’il est appliqué à des problèmes qui
traitent l’extraction de connaissances à partir des faits et des règles de base.
Exemple : Règles : ‘Y est vrai si X1 et X2 sont vrais’.
Faits : ‘Y est vrai’.
=> L’idée de la programmation logique est qu’au lieu de dire à l’ordinateur comment calculer les
choses, vous lui dites ce que sont les choses. Exemple : PROLOG (PROgrammation LOGique)
20. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
20
Paradigme fonctionnel : il est fondé sur l’évaluation des fonctions qui sont utilisées ensuite dans
d’autres fonctions. En d’autres termes, vous pouvez transmettre une fonction en tant qu’argument à
une autre fonction ou une fonction peut renvoyer une autre fonction. Exemples des langages de
programmation fonctionnelle : F#, LISP, Scheme et Haskell.
Paradigme Orienté Objet : il a acquis une énorme popularité au cours des dix dernières années. Le
terme Orienté est utilisé pour décrire une approche de programmation basée sur des objets et des
classes.
La Programmation Orientée Objet est dirigée par trois fondamentaux : encapsulation, héritage et
polymorphisme.
21. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
21
Encapsulation : vise à regrouper des données et les moyens de les gérer, à savoir les
champs et les méthodes.
Elle permet de garder une cohérence dans la gestion de l’objet, tout en assurant l’intégrité des
données qui ne sont accessibles qu’au travers des méthodes visibles.
Attribut 1
Méthode 1
Attribut 2
Méthode 2
Attribut 1
Méthode 1
Objet 1
Attribut 2
Méthode 2
Objet 2
22. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
22
Héritage : est un mécanisme qui va vous faciliter la réutilisation du code. Il définit une
relation entre deux classes : Classe mère (super classe) et classe fille (sous classe).
Les sous classes peuvent redéfinir les variables et les méthodes héritées. Ces méthodes sont
redéfinies avec le même nom, les mêmes types et le même nombre d’arguments
Polymorphisme : Poly comme plusieurs et morphisme comme forme. C’est un concept
extrêmement puissant en POO. Il traite la capacité d’un objet à posséder plusieurs formes.
Exemple : Même nom de fonction, plusieurs implantations (Opération addition)
Addition des nombres entiers : 11 + 7 = 18
Addition des nombres complexes : 11 + 7j + 10 + 20j = 21 + 27j
23. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
23
Conclusion : ces propriétés sont très importantes lorsque les programmes deviennent de plus en
plus grands. Le paradigme Orienté Objet fournit les avantages clés d’un code réutilisable et
extensible. Python, Java, C++ et C# sont des exemples de langages Orientés Objet.
Il est important de noter que de nombreux langages, tels que Python et C++, prennent en charge
plusieurs paradigmes.
Il est également vrai que même lorsqu’on dit qu’un langage supporte un paradigme particulier, il
ne prend peut-être pas en charge toutes les fonctionnalités de ce paradigme.
24. Chapitre I : Généralités
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
24
Déterminer les besoins et fixer les objectifs : Que doit faire le logiciel, dans quel cadre on va
l’utiliser ?
Conception et spécifications : Quels sont les fonctionnalités du logiciel, avec quelle interface ?
Programmation : Modélisation et codage.
Tests : Vérification du fonctionnement du programme et s’il répond aux besoins définis en début.
Déploiement : Installation du logiciel chez le client.
Maintenance : Corrective; traquer les bugs pour les corriger (patches). Evolutive; ajouter des
nouvelles fonctionnalités au logiciel.
I.5- Étapes de création d’un programme (cas d’un logiciel) :
25. M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
25
Chapitre II : Introduction
à Python
26. Chapitre II : Introduction à Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
26
Python est un langage de programmation interprété. Il est associé à un interpréteur de
commandes disponible pour différents OS (Windows, Linux, Mac OS X, etc.)
Le langage de programmation Python est un très bon choix aussi bien pour l’initiation à la
programmation que pour la programmation elle-même.
C’est un langage de très haut niveau, bien structuré, dont la syntaxe encourage à écrire du code
clair et de qualité.
Python est associé à un grand nombre de librairies très performantes.
Mode d’exécution : On transmet à l’interpréteur Python le fichier script ‘.py ’
27. Chapitre II : Introduction à Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
27
Modes opératoires :
Premier mode :
Lancer la console Python.
Insérer les commandes de manière interactive.
C’est pas adapté pour nous
(Programme = Enchaînement
automatique d’instructions).
28. Chapitre II : Introduction à Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
28
Deuxième mode : Lancer IDLE du Python.
Fenêtre d’exécution : Shell
Bon suivi lors de l’exécution du programme.
Accès au messages d’erreur.
29. Chapitre II : Introduction à Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
29
Troisième mode :
Lancer l’éditeur de code (Notepad ++).
Enregistrer le code dans un fichier ‘.py ’.
Double clique sur le fichier ‘.py ’ pour
lancer automatiquement le programme.
30. Chapitre II : Introduction à Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
30
Quatrième mode : Utiliser Visual Studio Code de Microsoft.
Lancer le programme
Éditeur de code
Terminal : Résultat et interaction
avec l’utilisateur
31. M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
31
Chapitre III : Bases de
Python
32. III.1 : Différents composants du langage de programmation Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
32
Dans cette partie, on va aborder les points suivants :
III.1- Différents composants du langage de programmation Python :
Description du fonctionnement des programmes Python au niveau le plus élémentaire ;
Des détails sur les opérateurs, les types et les mots-clés sur lesquels des solutions complexes
peuvent être construites.
Les principes de base du langage de programmation Python que vous devez connaître avant
d’écrire des programmes simples ;
33. III.1 : Différents composants du langage de programmation Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
33
Un identifiant est un nom donné à une variable, une fonction, une classe ou un module.
III.1.1- Identifiant :
L’identifiant peut comporter un ou plusieurs caractères respectant les formats suivants :
oUn identifiant peut être une combinaison de lettres minuscules (a à z), majuscules (A à Z),
chiffres (0 à 9) et un trait de soulignement (_). Exemples valables : myName, adil_1 et
bonne_journée ;
oUn identifiant en Python peut commencer par un alphabet (A – Z et a – z) ou (_) ;
oUn identifiant ne peut pas commencer par un chiffre mais ce dernier est autorisé partout.
Exemple : 5plus n’est pas correct mais plus5 est parfaitement acceptable.
oLes mots-clés ne peuvent pas être utilisés comme identifiants ;
34. III.1 : Différents composants du langage de programmation Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
34
oLes espaces et les symboles spéciaux (!, #, %, ...) ne peuvent pas être inclus dans un identifiant ;
oIl peut être de n’importe quelle longueur.
Les mots-clés sont une liste de mots réservés ayant un sens prédéfini. Ils constituent un vocabulaire
spécial et ne peuvent pas être utilisés comme identifiants par les programmeurs.
L’utilisation d’un mot clé comme identifiant provoquera une erreur.
Voici une liste des mots-clés utilisés en Python 3.
III.1.2- Mots-clés :
35. III.1 : Différents composants du langage de programmation Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
35
Instructions :
III.1.3- Instructions et expressions :
Les instructions sont tout ce qui peut constituer une ligne (ou plusieurs lignes) d’un code Python.
Le programme Python est la représentation d’une séquence d’instructions.
Par exemple, a = 1 est une instruction d’affectation.
Expressions :
L’expression est un arrangement de valeurs et d’opérateurs qui sont évalués pour créer une
nouvelle valeur. Elle est aussi une instruction.
Une valeur est la représentation d’une entité comme une lettre ou un nombre qu’on peut manipuler
par un programme.
36. III.1 : Différents composants du langage de programmation Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
36
Exemples des instructions valables :
Valeur unique : 20
Variable unique : a = 11
Combinaison (variable, opérateur et valeur) : a + 20
Quand on utilise une instruction en mode interactif, l’interpréteur l’évalue et ensuite il affiche le
résultat. Prenons l’exemple suivant :
Remarque : même instruction, en utilisant un programme Python, ne donne aucun résultat. On doit
explicitement imprimer le résultat.
37. III.1 : Différents composants du langage de programmation Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
37
III.1.4- Variables :
Une variable est un espace mémoire destiné à contenir tout type de données. En Python, il n’est pas
nécessaire de déclarer explicitement une variable en spécifiant son type (int, float, str ou autre).
Python n'a pas de commande pour déclarer une variable. Une variable est créée au moment où
vous lui attribuez une valeur pour la première fois.
Le choix du nom d’une variable doit être basé sur les règles mentionnées dans la sous-section
suivante.
38. III.1 : Différents composants du langage de programmation Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
38
III.1.4.1- Nom d’une variable légale :
o Le nom peut être constitué de lettres, de caractères, de soulignement et de chiffres ;
o Il ne doit pas commencer par un nombre ;
o Les mots-clés de Python ne sont pas autorisés en tant que nom d’une variable ;
o Le nom d’une variable est sensible à la casse. Exemple: Adil et adil sont des variables
différentes.
III.1.4.2- Affectation des valeurs aux variables :
Le format général d’affectation d’une valeur à une variable est le suivant :
Les règles mentionnées ci-dessous permettent de créer le nom d’une variable légale en Python :
39. III.1 : Différents composants du langage de programmation Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
39
Le signe (=) est l’opérateur d’affectation. Cet opérateur ne doit pas être confondu avec le « = »
utilisé dans l’algèbre pour indiquer l’égalité. Par exemple, entrer le code indiqué ci-dessous en
mode interactif et observer le résultat.
Une valeur de type entier est affectée à une variable ‘nb_int’.
Une valeur de type float est affectée à une variable ‘nb_float’.
Une valeur de type chaîne est affectée à une variable ‘NOM’.
Donne la valeur affectée à la variable.
40. III.1 : Différents composants du langage de programmation Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
40
En Python, non seulement la valeur d’une variable qui peut changer pendant l’exécution du
programme, mais également le type de donnée affecté à cette variable.
Vous pouvez affecter une valeur de type entier à une variable, l’utiliser comme un entier pour un
moment , puis affecter une valeur de type chaîne à cette même variable.
=> Une nouvelle affectation remplace toutes les affectations précédentes.
Une valeur de type float est affectée à une variable ‘a’.
Une valeur de type chaîne est affectée à la même variable ‘a’.
Exemple :
41. III.1 : Différents composants du langage de programmation Python
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
41
Python vous permet également d’affecter une valeur unique à plusieurs variables simultanément.
Exemple :
III.1.5- Opérateurs :
Les Opérateurs sont des symboles, tels que +, -, =, > et <, qui effectuent certaines opérations
logiques ou mathématiques pour manipuler les valeurs de données et produire un résultat basé sur
certaines règles.
42. III.1 : Différents composants du langage de programmation Python
Un opérateur manipule les valeurs de données appelées opérandes.
Exemple : On considère l’expression suivante :
Le langage Python prend en charge une large gamme d’opérateurs :
Opérateur
Opérandes
1. Opérateurs arithmétiques ;
2. Opérateurs d’affectation ;
3. Opérateurs de comparaison ;
4. Opérateurs logiques ;
5. Opérateurs binaires.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
42
43. III.1 : Différents composants du langage de programmation Python
III.1.5.1- Opérateurs arithmétiques :
Les opérateurs arithmétiques sont utilisés pour exécuter des opérations arithmétiques telles que
l’addition, la soustraction, la division, la multiplication, etc.
Multiplication
Exposant
Soustraction
Addition
Division
Division entière Modulo
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
43
44. III.1 : Différents composants du langage de programmation Python
III.1.5.2- Opérateurs d’affectation :
Les opérateurs d’affectation sont utilisés pour affecter les valeurs générées après l’évaluation de
l’opérande droit sur l’opérande gauche.
L’opération d’affectation fonctionne toujours de droite à gauche.
Ils sont soit des opérateurs simples, soit des opérateurs composés.
Exemples :
Opérateur simple Opérateur composé
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
44
45. III.1 : Différents composants du langage de programmation Python
Les exemples suivants montrent tous les opérateurs d’affectation :
b = b + a
b = b * a
b = b / a
b = b % a
b = b ** a
b = b // a
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
45
46. III.1 : Différents composants du langage de programmation Python
III.1.5.3- Opérateurs de comparaison :
Les opérateurs de comparaison sont utilisés lorsqu’on veut comparer les valeurs de deux opérandes.
Les opérandes peuvent être des nombres, des chaînes ou des valeurs booléennes.
Remarque : les chaînes sont comparées lettre par lettre en utilisant leurs valeurs ASCII. Par exemple,
‘P’ est inférieur à ‘Q’ et ‘Adil’ est supérieur à ‘Adid’.
Le résultat de ces opérateurs est toujours une valeur booléenne : True ou False.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
46
47. III.1 : Différents composants du langage de programmation Python
Exemples :
Egal à
Différent de
Inférieur à
Supérieur à
Inférieur ou égal à
Supérieur ou égal à
Nombres
Chaîne / Valeur booléenne
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
47
48. III.1 : Différents composants du langage de programmation Python
III.1.5.4- Opérateurs logiques :
Les opérateurs logiques sont utilisés pour comparer ou donner la négation des valeurs logiques de
leurs opérandes et pour renvoyer la valeur logique résultante (True ou False).
Python possède les opérateurs logiques classiques : not (négation), and (ET logique), or (OU
logique).
Le tableaux suivant regroupe ces opérateurs logiques :
A B A and B A or B not A
False False False False True
False True False True
True False False True False
True True True True
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
48
49. III.1 : Différents composants du langage de programmation Python
Exemples :
III.1.5.5- Opérateurs binaires :
Les opérateurs binaires traitent leurs opérandes comme une séquence de bits (0 et 1) et effectuent
une opération bit par bit.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
49
50. III.1 : Différents composants du langage de programmation Python
Exemple : Le nombre 12 a comme représentation binaire 1100. Les opérateurs binaires effectuent
leurs opérations sur telle représentation binaire, mais ils renvoient des valeurs numériques standard.
A B A & B A | B A ^ B ~ A
0 0 0 0 0 1
0 1 0 1 1
1 0 0 1 1 0
1 1 1 1 0
La table de vérité est représentée ci-dessous :
Python possède les opérateurs binaires classiques : & (AND binaire), | (OR binaire), ^ (xOR
binaire), ~ (Complément binaire)
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
50
51. III.1 : Différents composants du langage de programmation Python
Exemples :
& |
x = 0011 1100 (60) x = 0011 1100 (60)
y = 0000 1101 (13) y = 0000 1101 (13)
x & y = 0000 1100 (12) x | y = 0011 1101 (61)
^ ~
x = 0011 1100 (60) x = 0011 1100 (60)
y = 0000 1101 (13) ~ x = 1100 0011 (-61)
x ^ y = 0011 0001 (49)
<< >>
x = 0011 1100 (60) x = 0011 1100 (60)
x << 2 = 1111 0000 (240) x >> 2 = 0000 1111 (15)
Décalage à gauche par 2 bits Décalage à droite par 2 bits
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
51
52. III.1 : Différents composants du langage de programmation Python
Priorité :
III.1.6- Priorité et associativité des opérateurs :
Pour évaluer une expression en Python, la règle de priorité doit être respectée. Cette règle guide
l’ordre dans lequel les opérations sont effectuées.
La priorité des opérateur est indiquée dans le tableaux suivant, en commençant par la priorité la
plus élevée.
Associativité :
L’associativité détermine la manière dont les opérateurs de la même priorité sont analysés.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
52
53. III.1 : Différents composants du langage de programmation Python
Exemples :
Opérateurs
()
**
+x, -x, ~x
*, /, //, %
+, -
<<, >>
&
^
|
==, !=, >, >=, <, <=
is, is not, in, not in
not
and
or
La multiplication a la priorité sur
l’addition. Alors, 3*2 est évalué en
premier et le résultat est ajouté à 5.
Les parenthèses ont la priorité la plus
élevée => L’expression entre les
parenthèses est évaluée en premier, 3+5
dans notre cas, et le résultat est multiplié
par 2.
La multiplication et la division ont la
même priorité.
On commence de gauche à droite =>
L’opérateur de multiplication est
évalué en premier et le résultat est
divisé par 2.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
53
54. III.1 : Différents composants du langage de programmation Python
Ils spécifient le type de données, comme les chiffres et les caractères, à stocker et à manipuler dans
un programme.
III.1.7- Types de données :
1. Nombres (Numbers ) ;
2. Booléen (Boolean ) ;
3. Chaînes (Strings ) ;
4. Aucun (None).
Remarque : pour savoir le type d’un objet, on utilise la fonction type(nom_objet).
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
54
Les types de données de base de Python sont :
55. III.1 : Différents composants du langage de programmation Python
III.1.7.1- Nombres :
Les nombres entiers « int », les nombres à virgule flottante « float » et les nombres complexes
« complex » entrent dans la catégorie des nombres.
La différence entre les nombres entiers et les nombres à virgule flottante est le point décimal.
Exemple : 5 est un entier mais 5.0 est un nombre à virgule flottante.
III.1.7.2- Booléen :
Les booléens peuvent ne pas sembler très utiles au début, mais ils sont essentiels lorsque vous
commencez à utiliser des instructions conditionnelles.
Une condition est une question de type Oui ou Non, et la réponse à cette question est une valeur
booléenne : True ou False.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
55
56. III.1 : Différents composants du langage de programmation Python
III.1.7.3- Chaînes :
Une chaîne de caractères est une séquence d’un ou plusieurs caractères, pouvant inclure des chiffres,
des lettres et d’autre types de caractères. Elle peut aussi contenir des espaces.
C’est possible d’utiliser des guillemets simples ou doubles pour représenter des chaînes.
Utilisation des guillemets simples
Utilisation des guillemets doubles
Chaînes multilignes : Utilisation des
guillemets triples
III.1.7.4- Aucun :
C’est un autre type de données spécial en Python. Il est fréquemment utilisé pour représenter
l’absence d’une valeur.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
56
57. III.1 : Différents composants du langage de programmation Python
En Python, les programmes sont structurés par indentation.
Généralement, nous attendons à une indentation dans chaque code, mais en Python, c’est une
exigence et non pas une question de style.
III.1.8- Indentation :
Ce principe donne au code une apparence plus propre et plus facile à comprendre et à lire.
Bloc 1
Bloc 2
Bloc 3
Bloc 2, continuation
Bloc 1, continuation
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
57
58. III.1 : Différents composants du langage de programmation Python
Toute instruction écrite sous une autre instruction avec la même indentation est interprétée
comme appartenant au même bloc de code ;
S’il existe une instruction suivante avec moins d’indentation à gauche, cela signifie simplement
la fin du bloc de code précédent.
Ils représentent une partie importante de tout programme.
Un commentaire est un texte décrivant ce que le programme ou une partie du programme tente de
faire et il est ignoré par l’interpréteur Python.
III.1.9- Commentaires :
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
58
59. III.1 : Différents composants du langage de programmation Python
Python utilise deux types de commentaires : les commentaires sur une ligne et les commentaires
sur plusieurs lignes.
Le symbole dièse (#) est utilisé pour commencer à écrire un commentaire.
Une ligne
Plusieurs lignes
Exemples :
Utilisation de (#)
Utilisation de (''')
En Python, la fonction input() est utilisée pour rassembler des données de l’utilisateur.
III.1.10- Lecture d’entrée (input) :
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
59
60. III.1 : Différents composants du langage de programmation Python
La syntaxe de la fonction input est la suivante :
Exemple :
Une chaîne de caractères,
représentant un message
par défaut avant la saisie.
• Dans l’exemple ci-dessus, la fonction input() affiche l’instruction d’invite sur l’écran ("Quel est
votre nom complet ? ") indiquant à l’utilisateur qu’une entrée au clavier est attendue à ce
moment-là et puis elle attend la saisie d’une ligne ;
• La fonction input() lit la ligne de l’utilisateur et la convertit en chaîne.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
60
61. III.1 : Différents composants du langage de programmation Python
La fonction print() permet à un programme d’afficher un texte sur la console. Elle imprime tout
sous forme de chaîne.
Tout ce qui n’est pas déjà une chaîne est automatiquement converti en sa représentation chaîne.
III.1.11- Sortie d’impression (print) :
Exemple :
Même s’il existe différentes manières pour afficher des valeurs en Python, nous allons aborder
deux principaux formats de chaîne utilisés dans la fonction print() :
C’est deux méthodes sont moins sujets aux erreurs et donnent un code plus propre.
1. str.format() ;
2. f-strings.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
61
62. III.1 : Différents composants du langage de programmation Python
III.1.11.1- Méthode str.format() :
La méthode str.format() permet d’insérer la valeur d’une variable, d’une expression ou d’un objet
dans une chaîne et de l’afficher à l’utilisateur sous la forme d’une seule chaîne.
Le 0 à l’intérieur des accolades {} est l’indice du
premier argument ( la variable country dans notre
cas) dont la valeur sera insérée à cette position.
Elle renvoie une nouvelle chaîne avec les valeurs insérées ;
Elle fonctionne pour toutes les versions de Python 3.x ;
Elle utilise ses arguments pour substituer une valeur appropriée à chaque format code
dans le modèle.
Exemple 1 :
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
62
63. III.1 : Différents composants du langage de programmation Python
III.1.11.2- Méthode f-strings :
Les chaînes formatées ou f-chaînes ont été introduites dans Python 3.6.
f-string est une chaîne préfixé avec « f ». Elle peut contenir des champs de remplacement, qui sont
des expressions placées entre {}.
Les expressions sont remplacées par leurs valeurs. Cela signifie que vous devez spécifier le nom de
la variable entre {} pour afficher sa valeur.
Exemple 2 : Démonstration du changement de la position des indices des arguments
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
63
64. III.1 : Différents composants du langage de programmation Python
Exemple 1 :
Exemple 2 : Un programme Python pour convertir le nombre de jours donné en années, semaines
et jours. Prenons le cas de 375 jours.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
64
65. III.1 : Différents composants du langage de programmation Python
Vous pouvez explicitement transtyper (ou convertir) une variable d’un type à un autre.
III.1.12- Conversion de type :
III.1.12.1- Fonction int() :
Elle aide à explicitement convertir un nombre de type float ou str en int.
Exemple 1 : Exemple 2 :
L’utilisateur entre une valeur
de 1994 qui est assignée à
une variable ‘valeur_num’ et
traitée comme une chaîne.
La fonction input() doit être
placée dans la fonction int()
qui convertit le type de
chaîne en entrée en type
entier.
Remarque : une conversion (Chaîne => Entier) n’est possible que lorsque la valeur de la chaîne est
un nombre et non pas un caractère.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
65
66. III.1 : Différents composants du langage de programmation Python
III.1.12.2- Fonction float() :
Elle renvoie un nombre de type float construit à partir d’un int ou str.
Exemple :
III.1.12.3- Fonction str() :
Elle renvoie une chaîne assez lisible par l’homme.
Exemple :
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
66
67. III.1 : Différents composants du langage de programmation Python
III.1.12.4- Fonction chr() :
Elle convertit un int en str dont le code ASCII est identique à l’entier utilisant cette fonction. La
valeur de l’entier doit être comprise entre 0 et 255.
Exemple :
III.1.12.5- Fonction complex() :
Elle imprime un nombre complexe avec la valeur ‘Réel + Img*j’.
Elle convertit une chaîne ou un nombre en un nombre complexe.
Si le premier argument de la fonction est une chaîne => Il sera interprété comme un nombre
complexe + la fonction doit être appelée sans second argument.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
67
68. III.1 : Différents composants du langage de programmation Python
Remarque : le deuxième argument ne peut jamais être une chaîne.
Exemple :
III.1.12.6- Fonction hex():
Elle convertit un nombre int (de toute taille) en chaîne hexadécimale minuscules précédée du
préfixe ‘0x’
Le premier argument est
une chaîne => Vous n’êtes
pas autorisé à spécifier le
deuxième argument.
Le premier argument est
un entier => Vous
pouvez spécifier le
deuxième argument qui
est également un entier.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
68
69. III.1 : Différents composants du langage de programmation Python
Exemple :
III.1.12.7- Fonction oct() :
Elle convertit un nombre int (de toute taille) en chaîne octale précédée de ‘0o’.
Exemple :
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
69
70. III.1 : Différents composants du langage de programmation Python
La syntaxe de la fonction type() est la suivante :
III.1.13- Fonction type() :
Exemples :
Elle renvoie le type de l’objet donné.
=> Elle est pratique si vous oubliez le type d’une variable ou d’un objet lors de l’écriture de votre
programme.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
70
71. III.1 : Différents composants du langage de programmation Python
Les opérateurs ‘is’ et ‘is not’ sont des opérateurs d’identité.
III.1.14- Opérateur ‘is’ :
Exemples :
L’opérateur ‘is’ est évalué à True si les valeurs des opérandes situés de part et d’autre
de l’opérateur pointent sur le même objet et à False dans le cas contraire ;
L’opérateur ‘is not’ est évalué à False si les valeurs des opérandes situés de part et
d’autre de l’opérateur pointent sur le même objet et à True dans le cas contraire.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
71
72. III.1 : Différents composants du langage de programmation Python
Python est un langage dynamique car le type de la variable est déterminé lors de l’exécution par
l’interpréteur.
III.1.15- Langage dynamique et fortement typé :
Exemples :
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
72
Il est également un langage fortement typé car l’interpréteur garde la trace de tous les types des
variables. Dans un langage fortement typé, vous n’êtes pas autorisé à effectuer des opérations
incompatibles avec le type de données avec lesquelles vous travaillez.
73. III.1 : Différents composants du langage de programmation Python
Un identifiant est un nom donné à une variable et doit commencer par une lettre ou un trait de
soulignement. Il peut inclure un nombre quelconque de lettres, de chiffres ou de soulignement ;
Les mots-clés ont des significations prédéfinies ;
Une instruction est une unité de code que l’interpréteur Python peut exécuter ;
Une expression est une combinaison de variables, d’opérateurs, de valeurs et de mots-clés
réservés ;
Une variable contient une valeur qui peut changer ;
Pour écrire des commentaires, on utilise les dièses (#) ou les guillemets triples ( ''' ) ;
III.1.16- Résumé :
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
73
74. III.1 : Différents composants du langage de programmation Python
Python supporte les opérateurs suivants :
o Opérateurs arithmétiques ;
o Opérateurs d’affectation ;
o Opérateurs de comparaison ;
o Opérateurs logiques ;
o Opérateurs binaires ;
o Opérateurs d’identité.
Python ne fournit pas d’accolades pour indiquer les blocs de code pour la définition des
classes et des fonctions. Les blocs de code sont désignés par l’indentation de la ligne, qui
est rigoureusement appliquée ;
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
74
75. III.1 : Différents composants du langage de programmation Python
Les fonctions print() et input() gèrent la sortie de texte simple (sur l’écran) et la saisie (à
partir du clavier) ;
Les commentaires sont des morceaux de code qui ne sont pas évalués par l’interpréteur, mais
qui peuvent être lus par les programmeurs pour obtenir des informations sur un programme ;
Les fonctions de conversion de type peuvent être utilisées pour convertir une valeur d’un
type en une valeur d’un autre type après la saisie.
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
75