SlideShare une entreprise Scribd logo
1  sur  75
Télécharger pour lire hors ligne
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"
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
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
3
Chapitre I : Généralités
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.
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.
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.
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.
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
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 »
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.
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.
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.
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.
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
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.
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.
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.
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.
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)
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.
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
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
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.
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) :
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
25
Chapitre II : Introduction
à Python
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 ’
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).
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.
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.
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
M. Elmehdi ADIL
LUP IRT - Année universitaire 2021/2022
31
Chapitre III : Bases de
Python
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 ;
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 ;
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 :
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.
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.
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.
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 :
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.
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 :
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.
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
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
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
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
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
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
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
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
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
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
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
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
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 :
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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

Contenu connexe

Tendances

Cours python
Cours pythonCours python
Cours pythonsalmazen
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptxLamissGhoul1
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniShellmates
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrentsmohamed_SAYARI
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Amina HAMEURLAINE
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationECAM Brussels Engineering School
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesInes Ouaz
 

Tendances (20)

Cours python
Cours pythonCours python
Cours python
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
 
Python
PythonPython
Python
 
Les algorithmes recurrents
Les algorithmes recurrentsLes algorithmes recurrents
Les algorithmes recurrents
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulation
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de données
 

Similaire à LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf

cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcoursedu
 
Programmation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptxProgrammation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptxOlyvierNzighou1
 
Programmation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxProgrammation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxOlyvierNzighou1
 
Chapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfChapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfbenfifiaymen36
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la rechercheJohan Moreau
 
Gl slides-cours-1
Gl slides-cours-1Gl slides-cours-1
Gl slides-cours-1Sami Neili
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxBruno Cornec
 
cours-01-intro.pdf
cours-01-intro.pdfcours-01-intro.pdf
cours-01-intro.pdfNihedBahria2
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmationSageKataliko1
 
Theme1 (1)
Theme1 (1)Theme1 (1)
Theme1 (1)salmazen
 
Programation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxProgramation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxDanielATCHADE
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdfGhassenHaamdi
 
Cours SE linux
Cours SE linuxCours SE linux
Cours SE linuxIdriss22
 

Similaire à LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf (20)

cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
 
Programmation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptxProgrammation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptx
 
Programmation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxProgrammation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptx
 
Chapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfChapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdf
 
algo & prog python.pptx
algo & prog python.pptxalgo & prog python.pptx
algo & prog python.pptx
 
Ch1-Généralités.pdf
Ch1-Généralités.pdfCh1-Généralités.pdf
Ch1-Généralités.pdf
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la recherche
 
Gl slides-cours-1
Gl slides-cours-1Gl slides-cours-1
Gl slides-cours-1
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à Linux
 
cours-01-intro.pdf
cours-01-intro.pdfcours-01-intro.pdf
cours-01-intro.pdf
 
Asd
AsdAsd
Asd
 
Ktab asd
Ktab asdKtab asd
Ktab asd
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmation
 
Theme1 (1)
Theme1 (1)Theme1 (1)
Theme1 (1)
 
Pl 2-bis
Pl 2-bisPl 2-bis
Pl 2-bis
 
Programation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptxProgramation système-CHAPITRE1.pptx
Programation système-CHAPITRE1.pptx
 
SystemC
SystemCSystemC
SystemC
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdf
 
Cours SE linux
Cours SE linuxCours SE linux
Cours SE linux
 

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