Objectif général : Acquérir les connaissances nécessaires à la programmation avec le langage Python
Objectifs opérationnels :
- Mémoriser des données primitives
- Traiter des données
- Communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Mémoriser des données composites
- Découper et réutiliser du code
3. Objectifs spécifiques
• Mémoriser des données primitives
• Traiter des données
• Communiquer avec l’extérieur
• Contrôler le flux d’exécution des instructions
• Mémoriser des données composites
• Découper et réutiliser du code
3
4. Sommaire
1) Qu’est que Python ?
2) Environnement de développement
3) Variables
4) Types primitifs
5) Opérateurs
6) Entrée et sortie de base
7) Structures de contrôle
8) Listes
9) Tuples
10) Dictionnaires
11) Fonctions
12) Modules 4
5. Qu’est ce que Python
Langage de programmation interprété, multi-paradigme
(fonctionnel et orienté objet) et multiplateforme (Windows,
Linux, macOS, Android et iOS)
Offre des outils de haut niveau et une syntaxe simple
Créé par Guido Van Russom en 1989
Dernière version 3.8 en sept 2020
Usage :
Scripts pour automatiser des tâches
Analyse de données
Calcul numérique
Développement web
Instagram, YouTube, Dropbox, …
5
6. Environnement de dev
installation de Python
Selon le SE, télécharger le fichier d'installation de Python à
l’URL https://www.python.org/downloads/
Installer Python sous Windows
exécuter le fichier d'installation et suivre les étapes
Installer Python sous Mac OS X
Ouvrir le fichier .dmg, faire un double-clic sur le paquet
d'installation Python.mpkg et suivre les étapes
Installer Python sous Linux
1) Décompresser l'archive : tar -xzf archive
2) Se mettre dans le dossier créé
3) Exécuter le script configure : ./configure
4) Compiler
make puis make install en tant que super-utilisateur.
6
7. Environnement de dev
édition et exécution d’un script Python
Pour éditer un script python
• Créer le dossier « exemples-python » : lieu de stockage de
tous les exemples du cours
• À l’aide d’un éditeur de texte, créer un nouveau fichier
« nomScript.py » dans « exemples-python »
Pour exécuter un script python
• Lancer l’invite de commande (Windows) ou le terminal (Mac
ou Linux)
• Se placer dans « exemples-python »
• Lancer la commande
python nomScript.py (sous Windows)
python3 nomScript.py (sous Mac OS/Linux)
7
8. Environnement de dev
interpréteur de Python
L’interpréteur convertit les instructions Python en un langage
compréhensible par l’ordinateur
Il peut être utilisé pour exécuter une instruction
Pour ouvrir l’interpréteur
• Lancer l’invite de commande ou le terminal
• taper python ou python3
Résultat : triple chevrons
8
9. Variable
Variable : emplacement mémoire pour le stockage
d’une donnée
En python, pas de déclaration de variable :
une variable est créée lors de son initialisation
Exemples
age = 26
prenom, taille = "Ali", 1.85
juste = correct = True
Python est un langage dont le typage est dynamique : la même
variable peut avoir différents types au cours de son existence
Quelques fonctions natives
• del
• type
9
v
a
l
e
u
r
identificateur
10. Types primitifs
Type : permet de savoir comment stocker et traiter une
donnée
int : entier signé
float : nombre à virgule flottante
Ex : 2.5e2 = 2.5 x 102 = 250
str : chaîne de caractères
Ex : 'Bonjour’ = "Bonjour"
'J'aime le Python!'
"Chaînensurnplusieursnlignes"
"""Autre chaîne
sur plusieurs
lignes"""
bool : booléen (True ou False)
Valeurs fausses : False, None, 0, 0.0, ''
Qlq fonctions de conversion
int(), float(), … 10
11. Opérateurs
Arithmétiques
+ , - , * , ** (exposant), / , // (division entière), %
+ et * opèrent sur des str et sur des listes
assignation
= (affectation), += (ajouter à), *=, /=, -=, %=
logiques
and (et), or (ou), not (non)
comparaison
== , != , < , <= , > , >=
11
12. Entrée et sortie de base
Un programme peut avoir des interactions avec l'utilisateur.
input() invite un utilisateur à saisir une donnée pour la
retourner sous la forme d’une chaîne de caractères.
Syntaxe : input([prompt])
print() permet d’afficher des données
Syntaxe
print(valeur(s), sep=' ', end='n', file=sys.stdout, flush=False)
exemple-io.py
12
13. Structures de contrôle
présentation
Par défaut, les instructions d’un programme sont exécutées d’une
manière séquentielle.
Exemple :
Parfois, il est nécessaire qu’un traitement (une ou +sieurs
instructions) ne soit pas systématiquement exécuté ou soit
exécuté plusieurs fois :
d’où l’intérêt des structures de contrôle.
Deux grands types de structures de contrôle :
• structures conditionnelles ou tests ;
• structures répétitives (ou itératives) ou boucles.
13
17. Listes
présentation
Liste
• permet de regrouper des données connexes
• Les données sont modifiables et repérées par des
indices (0, 1, …, -2, -1)
Syntaxes de définition
• nom_liste = [ ] ou nom_liste = [ elt1, elt2, … ]
• nom_liste = list() ou nom_liste = list((elt1, elt2, …))
• Ex : ma_liste = list(('p','y')) et ta_liste = ['t','h','o','n',3]
Accès à un élément
• nomListe[indice]
• Ex : ma_liste[1] contient "y" et ta_liste[-1] contient 3
Parcourir une liste
for element in nom_liste :
Vérifier la présence (ou non) d’un élément dans une liste
if element [not] in nom_liste : 17
18. Listes
quelques opérations
len(nom_liste) retourne le nombre d’éléments
min(nom_liste)/max(nom_liste) retourne le minimum (ou
maximum) d’une liste
.append(element) ajoute l’élément spécifié à la fin
.insert(indice,element) ajoute un élément à l’indice spécifié
.remove(element) supprime la 1ère occurrence de l’élément spécifié
.pop([indice]) supprime le dernier élt ou l’élt à l’indice spécifié
.clear() vide entièrement une liste
.index(element) retourne l’indice de la 1ère occur. de l’élt spécifié
.count(element) retourne le nbr d’occurrences de l’élément spécifié
.sort() trie une liste dans l’ordre croissant
.reverse() inverse l’ordre des éléments d’une liste
18
19. Tuples
présentation
Tuple
• permet de regrouper des données connexes
• Les données sont non-modifiables et repérées par des
indices (0, 1, …, -2, -1)
Syntaxes de définition
• nom_tuple = () ou nom_tuple = ( elt1, elt2, … )
• nom_tuple = tuple() ou nom_tuple = tuple((elt1, elt2, …))
• Ex : mon_tuple = tuple(('p','y'))
ton_tuple = ('t','h','o','n',3)
Accès à un élément (comme pour une liste)
Parcourir un tuple (comme pour une liste)
Vérifier la présence d’un élément (comme pour une liste)
19
20. Tuples
quelques opérations
len(nom_tuple) retourne le nombre d’éléments
del supprime complètement un tuple
.count(element) retourne le nbr d’occurrences de l’élément
spécifié
.index(element) retourne l’indice de la 1ère occurrence de
l’élément spécifié
20
21. Dictionnaires
présentation
Dictionnaire
• permet de regrouper des données connexes
• Les données sont modifiables et repérées par des clés
Syntaxes de définition
• nom_dico = {} ou nom_dico = {'clé1':val1, 'clé2':val2, … }
• nom_dico = dict() ou nom_dico = dict(clé1=val1, clé2=val2,
…)
• Ex : pers1 = dict(nom='Yero Sow', age=25, taille=1.83)
pers2 = {'nom':'Ngor Diouf', 'age':23, 'taille':1.85}
Accès à un élément
• nom_dico['clé']
• Ex : pers1['age'] contient 25
Ajouter un élément
nom_dico['new_clé'] = new_value
Parcourir un dictionnaire donne accès aux clés
for nom_clé in nom_dico
Utiliser l’interpréteur pour tester 21
22. Dictionnaires
quelques opérations
len(nom_dico) retourne le nombre d’éléments
.pop(clé) supprime la valeur de la clé spécifiée
.popitem() supprime la dernier élément
.clear() vide entièrement un dictionnaire
.get(clé) retourne la valeur de la clé spécifiée
.update({'clé_A' : val_A, 'clé_B' : val_B,…} ) modifie ou ajoute
un ou +sieurs éléments
.values() retourne la liste contenant les valeurs
for val in nom_dico.values() pour parcourir les valeurs
.items() retourne la liste des éléments sous la forme de tuples
(clé,valeur)
for key, val in nom_dico.items() pour parcourir clés et valeurs
22
23. Fonctions
présentation
Fonction = ensemble d’instructions portant un nom
Utilité :
• implémenter la décomposition d’un problème en sous-problèmes
• faciliter la lisibilité, le débogage et la réutilisabilité/factorisation
Une fonction est définie avec un nom, un corps et d’éventuels arguments (ou
paramètres formel) lui permettant de communiquer
Une fonction n’est exécutée que lorsqu’elle est appelée
Lors de l’appel, tout paramètre formel est associé à une variable ou une
constante nommée « paramètre effectif » du code appelant
Tout passage de paramètre se fait par référence : tout changement du
paramètre formel se reflète sur le paramètre effectif
Après son exécution une fonction peut retourner explicitement une valeur 23
24. Fonctions
syntaxe
Syntaxe de la définition d’une fonction
def nom_fonction([param_1 [, param_2, …] ] ) :
séquence d'instructions
[return expression]
L'appel d'une fonction qui :
• ne retourne pas de valeur constitue une instruction en lui-
même ;
• retourne une valeur est remplacé à l'exécution par cette valeur
retournée ; cet appel doit forcément se trouver dans un calcul,
une affectation, un affichage, un test, etc.
24
27. Fonction
lambda
Une fonction lambda permet d'avoir une syntaxe plus courte
Elle prend un nombre quelconque d’arguments et retourne la
valeur d’une expression unique
Syntaxe
• lambda [arg1 [,arg2,.....argn]] : expression
• Pas de parenthèses, ni de return
27
30. Module
présentation
Un module est un ensemble de codes encapsulés dans un script
et qui peut être utilisé par d’autres scripts.
Intérêts : faciliter la réutilisation, la lisibilité, le débogage, le
travail d’équipe, …
Exemples de modules natifs
crypt, csv, datetime, math, …
liste complète : commande help('modules')
Possibilité de créer ses propres modules
30
31. Module
création
Un module peut être un script contenant des variables et des
fonctions dont certaines seront utilisables par d’autres scripts
Exemple (circle.py)
31
32. Module
importation d’un module
L’importation permet à un script d’utiliser le code d’un module
Syntaxes d’importation
1) import nom_module
2) from nom_module import nom_membre
3) from nom_module import *
Syntaxes d’accès à un membre d’un module importé
1) nom_module.nom_membre
2) nom_membre si l’importation est faite avec 2) ou 3)
Exemple (use-circle.py)
32