Lecture 1
Lecture 1
Par:
Pr. ELAMRANI ABOU ELASSAD Zouhair
Email: [email protected]
Pourquoi Python
Populaire, haut-niveau,
à usage général, gratuit et open-source
2
Le plus populaire depuis 2019
La popularité aide à
apprendre le langage
rapidement, puisque il y aura
beaucoup de tutoriels, blogs,
et de gens qui peuvent
répondre aux ques+ons de
l’appren+ dans les forums
(tels que StackOverFlow)
h"ps://www.sta+sta.com/chart/16567/popular-programming-languages/
3
À usage général
Peut-importe la spécialité dans laquelle vous allez con5nuer à Python va vous aider
I: informa/que
M: maths P: physique
Développement web, desktop,
Algèbre, analyse, Simulation des phénomènes
Intelligence ar5ficielle,
sta5s5ques, etc. physiques, visualisation, etc.
Test des logiciels, etc.
4
Open source
Tout le monde peut voir / consulter le code de Python lui-même
h"ps://github.com/python/cpython
5
Exécution
Interprété (Python)
Compilé (C, C++)
Un peu des deux (Java)
6
Compilé VS interprété
7
Compilé VS interprété
8
Compilé VS interprété
9
Compilé VS interprété
Processus de compilation : Processus d'interpréta:on :
- Le code source est traduit en langage machine ou en un code - Le code source est exécuté ligne par ligne ou déclaraJon par déclaraJon par
intermédiaire par un compilateur avant l'exécution. un interpréteur.
- Ce processus aboutit à un fichier exécutable autonome ou un binaire - L'interpréteur traduit et exécute le code à la volée, sans produire de fichier
qui peut être directement exécuté par le matériel de l'ordinateur. exécutable autonome.
Exécution : Exécu:on
- Le code compilé s'exécute directement sur le matériel de - Le code est exécuté au moment de l'exécuJon, et les modificaJons
l'ordinateur, ce qui conduit généralement à une exécution plus rapide. apportées au code peuvent être immédiatement testées sans étape de
- L'étape de compilation se produit avant l'exécution du programme. compilaJon séparée.
Avantages : Avantages :
- Généralement une exécution plus rapide car le code est déjà traduit - Cycle de développement plus court car il n'y a pas besoin d'une étape de
en langage machine. compilaJon disJncte.
- Le binaire compilé peut être distribué sans révéler le code source. - Le code peut être facilement modifié et testé pendant le développement.
Inconvénients : Inconvénients :
- Cycle de développement plus long car la compilation est une étape - Généralement une exécuJon plus lente par rapport aux langages compilés.
distincte. (Pour voir le résultat du code, on doit compilé) - Nécessite la présence de l'interpréteur sur le système cible.
- Des fichiers binaires spécifiques peuvent être nécessaires pour - Peut exposer le code source, car il est souvent distribué dans sa forme
chaque système d'exploitation différent. originale.
10
Installation
Télécharger Python.exe, version,
Étapes d’installation,
IDLE,
IDE modernes
11
Télécharger Python.exe
12
Télécharger et cliquer sur le « .exe »
13
Cocher « Add Python to PATH »
Et cliquer sur « Customize installation »
14
Télécharger et installer Python.exe
15
16
17
18
19
20
Autres IDE modernes
Jupyter notebook
21
Autres IDE modernes
Visual studio Code
22
Sinon, IDE en ligne
Pas besoin d’installation
Programiz
https://www.programiz.com/python-programming/online-compiler/
23
Sinon, utiliser un IDE en ligne
Pas besoin d’installation
Google colab
h"ps://colab.research.google.com/
24
Votre premier programme Python
print(‘hello world’)
25
print(‘Hello word’)
Sauvegarder le fichier et exécuter pour voir le résultat
26
27
Types de variables
Typage dynamique
et quelques fonctions prédéfinies dans Python (print, type, input, len, etc.)
int, float, bool, complex, string
28
Types des variables
Et opérations
30
Définitions
• Set : comme les listes, sauf que l’ordre n’est pas pris en considéra@on
(donc pas d’indexa@on par posi@on), et surtout, il con@ent des
valeurs uniques
• Tuple : comme les listes, sauf qu’ils sont immutable (plus de détails
dans les slides suivants)
• Dic0onnaire : clés – valeurs, clés doivent être uniques, l’ordre ici est
aussi pas important (donc pas d’indexa@on par posi@on)
31
List, set, dictionnaire = mutable
Exemple ici
sur les listes
32
Tuples et chaines de caractères = immutable
Peut être changé , mais en créant une variable complétement différentes
33
Attention à l’effet d’Alias
Lorsque c’est mutable
34
Exemple sur les sets et les dicts
35
Structures de données
lists, set, dict, tuple,
Accès au valeurs
Accés par indice, par clé, etc.
36
Liste, tuple, set, et dictionnaire
indexation
37
Accès aux valeurs
Une seule valeur à la fois (l’indexation)
Strings, listes, tuples (par indice) Sets (convertir vers liste puis accès par indice )
38
Accès aux valeurs
Plusieurs valeurs à la fois (le slicing)
39
Structures de données
lists, set, dict, tuple,
Méthodes (ou fonctions internes)
40
Méthodes (ou fonctions internes)
Les strings
Point et tapez sur tabulation pour
afficher les différentes méthodes
de la structure de données
41
Méthodes (ou fonctions internes)
Les listes
42
Méthodes (ou fonctions internes)
Les tuples (que deux méthodes simples)
43
Méthodes (ou fonctions internes)
Les sets
44
Méthodes (ou fonctions internes)
Les dicts
45
Structure conditionnelle
if , elif, else
46
Structure conditionnelle
Condi&on
47
Structure conditionnelle
Mul$-condi$ons avec que des ‘if’
Mul$-condi$ons avec des ‘if’ et ‘elif’
Problème
La version correcte
48
Opérateurs logiques
Souvent utilisés avec les structures conditionnelles
49
Opérateurs logiques
50
Opérateurs logiques
51
Opérateurs logiques
52
Opérateurs logiques
53
Structure répétitive
La boucle while
+
4 types de boucle for
54
while VS for
- U#lisée lorsque vous ne savez pas combien d'itéra#ons - U#lisée lorsque vous avez une séquence d'éléments
seront nécessaires à l'avance et que vous souhaitez sur laquelle itérer, telle qu'une liste, un tuple, une
répéter le bloc de code tant qu'une condi#on est vraie. chaîne de caractères, etc.
- La boucle while con#nue tant que la condi#on spécifiée - La boucle for itère sur chaque élément de la
est vraie. Si la condi#on devient fausse, la boucle s'arrête. séquence jusqu'à ce qu'il n'y ait plus d'éléments.
55
La boucle while
56
Boucle for, méthode 1
for i in range(a, b):
#code à répéter
Note:
a inclut, mais b n’est pas inclut
57
Boucle for, méthode 2
for élément in itérable:
#code à répéter
58
Boucle for, méthode 3
for i, élément in enumerate(itérable):
#code à répéter
L’indice et l’élément
59
Boucle for, méthode 4
for élément_1, élément_2 in zip(itérable_1, itérable_2):
#code à répéter
60
Input de l’utilisateur
La function input( )
61
Interaction avec l’utilisateur via :
input(‘message’)
Note:
• lorsque j’affiche a, il l’affiche comme chaine de caractère
• Donc, si vous voulez faire des opéra;ons numériques sur a,
vous devez d’abord la conver;r en type numérique (par
exemple ‘int’)
62
La fonction print
Affichage plus personnalisé
63
Différentes méthodes pour faire l’affichage
print()
64
Différentes méthodes pour faire l’affichage
print()
65
Différentes méthodes pour faire l’affichage
print()
66
Différentes méthodes pour faire l’affichage
print()
67