Vous êtes sur la page 1sur 41

Ecole Nationale ‫الـمـدرسـة الوطـنـية‬

Supérieure de ‫الـعــلـيـا فـي‬


Biotechnologie ‫البــيـوتـكـنـولــوجـيــا‬
Taoufik KHAZNADAR ‫توفيـــق خزنـــدار‬

Chapitre 3 : Initiation à la programmation


en langage Python

1ère année cycle ingénieur, Semestre 2, 2018/2019


Dr Tarek Alloui, tarek.alloui@gmail.com,
Bloc pédagogique, Bureau 39 (3ème étage)
1
Plan du cours
1. Python, c’est quoi?
2. Eléments du langage
a. Syntaxe : Variables, Mots réservés, Opérations, Affectation, Entrées/Sorties,
Chaines de caractères
b. Structures de données : Listes, tuples, dictionnaires
c. Structures de contrôle, Fonctions, Modules
d. Bibliothèque standard
3. Programmation Orientée Objet
4. Module Biopython

2
Python, c’est quoi?
• Langage de programmation comme : C, C++, C#, Java, …
• Créé par Guido van Rossum (Google, Dropbox)
• Influencé par les langages : ABC, C & Modula-3
• Open source (gratuit) même pour des projets commerciaux
• Géré par la Python Software Foundation : https://www.python.org/
• Plusieurs implémentations existent : CPython, IronPython, Jython, …
• Première version (0.9.0) en 1991
• Version actuelle 3.7.2 (Février 2019)
• Principales version: Python2 & Python3

3
Python, c’est quoi ? (suite)
• Caractéristiques du langage (avantages et inconvénients):
➢Portable (dit aussi Multiplateforme): Windows, Linux/UNIX, Macintosh OS, ...
➢Langage interprété (comme MATLAB)
➢Pas de compilation (explicite)
➢Pas de typage pour les variables (typage dynamique implicite)
➢Syntaxe simple et légère → facilite son apprentissage
➢Syntaxe basée sur l’indentation
➢Pas besoin d’un IDE (Environnement de développement intégré)
L’interpréteur suffit largement
➢Lent contrairement au C ou C++
➢Langage du calcul scientifique

4
Python, c’est quoi ? (suite)
• Pour commencer: Lancer l’interpréteur par défaut →Anaconda Prompt

Lancer l’interpréteur en
tapant « python »

Indique que vous êtes bien à


l’intérieur de l’interpréteur

5
Eléments du langage : Variables
• Pas de déclaration (explicite)
• Types de données simples :
Type de données Exemples
Entier -345 0 2019 345678989743221
Réel 5.78 -.785 -45.89 5.89e-12
Complexe 43.6 + 1.4j -7.89j
Booléen True False TRUE FALSE true false
Chaine de caractères "Bonjour l’ENSB" ‘Hello World!’

• Règles pour le nommage de variables:


➢Il doit commencer par une lettre
➢Pas d’espace → utiliser le « _ »
➢Pas de caractères spéciaux: # . , ( ) [ ] { } + -
➢MAJUSCULE ≠ minuscule (exemple : H ≠ h)
➢Eviter d’utiliser les mots clés du langage (Voir liste sur la diapositive suivante)
6
Eléments du langage: Mots réservés

False class finally is return


None continue for lambda try
True def from nonlocal while
and del global not with
as elif if or yield
assert else import pass
break except in raise

7
Eléments du langage: Opérations
Opération Opérateur Exemples Résultats

Multiplication * 5 * 10 50
"Bonjour " * 2 "Bonjour Bonjour "
Addition + 5 + 10 15
"ABC" + "DEF" " ABCDEF"
Soustraction - 5 - 10 -5

Division / 5 / 10 0.5

Division entière // 5 // 2 2

Modulo % 5%2 1

Puissance ** 5 ** 3 125

8
Eléments du langage: Affectation

Affectations d’expressions sont possibles

Affectations parallèles sont possibles

; utilisé pour séparer


plusieurs instructions
sur la même ligne

Affectations multiples sont possibles


Pas besoin d’un ; à la Pour connaitre le type d’une
fin d’une instruction variable utiliser la fonction
(contrairement au C) type(nom_variable)
9
Eléments du langage: Entrées/Sorties

Fonction print(): Sorties (Ecran) Fonction input(): Entrées (clavier)


Retourne une chaine de caractères

Convertir une chaine


de caractères en entier

10
Peut aussi être utilisée pour afficher un message à l’écran
Eléments du langage: Chaines de caractères
• Chaine de caractères = ensemble ordonné de caractères

• Opérations sur les chaines de caractères:


Concaténation: (+) ou (*) pour la répétition (duplication)

• Un commentaire doit être précédé par le caractère #:

11
Eléments du langage: Chaines de caractères
• Opérations sur les chaines de caractères:
Récupérer la taille d’une chaine:

Compter le nombre d’occurrences d’un caractère:

Remplacer un caractère par un autre :

12
Eléments du langage: Chaines de caractères
• Opérations sur les chaines de caractères:
Pour les autres fonctions → il suffit d’utiliser la commande: help(str)

13
Eléments du langage: Listes
• Listes = Tableaux (dynamiques)
✓ Comportant plusieurs valeurs ordonnées
✓ La création d’une liste se fait à l’aide des crochets [ ]
✓ Accès à travers un indice; qui commence à partir de 0 et se termine à (taille -1)
✓ Accès au dernier élément avec l’indice -1
✓ Initialisation :

✓ Accès :

Accès au dernier élément de la liste 14


Eléments du langage: Listes (suite)

Dépassement
de la taille !!!

✓ Exemples : Chaine de caractères = Tableau de caractères ?


✓ Comment accéder aux différents éléments ?
Accès au dernier caractère
de la chaîne

✓ Liste comportant plusieurs types de valeurs :

15
Eléments du langage: Listes (suite)
• Fonctions associées :
✓ Concaténation (+) ou duplication (*) :

✓ Récupérer la taille d’une liste :

✓ Tests d’appartenance avec les mots-clés « in » et « not in »:

16
Eléments du langage: Listes (suite)
Position
• Fonctions associées : dans la liste
✓ Ajout d’un élément à une liste (deux façons):
La valeur de l’élément à
ajouter
OU

✓ Supprimer un élément d’une liste (deux façons) :


La valeur de l’élément à
OU supprimer

✓ Trier les éléments d’une liste :

17
Eléments du langage: Listes (suite)
• Fonctions associées :
✓ Autres fonctions: la commande help(list)

18
Eléments du langage: Tuples
• Tuples = Tableaux (statiques)
✓ Comportant plusieurs valeurs ordonnées non modifiables
✓ La création d’un tuple se fait à l’aide des parenthèses ( )
✓ Accès à travers un indice; qui commence à partir de 0 et se termine à (taille -1)
✓ Accès au dernier élément avec l’indice -1
✓ Pas de possibilité d’ajout ou de suppression d’éléments
✓ Initialisation :

✓Accès et manipulations :

19
Eléments du langage: Dictionnaires
• Dictionnaire = Structure de données non ordonnée → Pas d’indice
✓ La création d’un dictionnaire se fait à laide des accolades { }
✓ Chaque élément est composé d’une clé et d’une valeur
✓ Accès aux valeurs du dictionnaire à travers des clés
✓ Les clés peuvent être de n’importe quel type (entier, réel, chaîne de caractères)
✓ Peut contenir des éléments de différents types
✓ Initialisation :

✓ Accès :

20
Eléments du langage: Dictionnaires (suite)
• Fonctions associées :
• Ajouter un élément à un dictionnaire :

• Récupérer le nombre d’éléments d’un dictionnaire :

• Récupérer toutes les valeurs d’un dictionnaire :

• Récupérer toutes les clés d’un dictionnaire :

21
Eléments du langage: Dictionnaires (suite)
• Fonctions associées :
✓ Autres fonctions: la commande help(dict)

22
Eléments du langage: Structures de contrôle
• Notion d’indentation:

Indentation:
False
Ajout / Si « condition » :
suppression de
tabulations
pour indiquer
True 1 Instruction 1
le début / la fin Bloc
d’un bloc
Indentation
2 Instruction 2 d’instructions
d’instructions 3 Instruction 3
Instruction suivante
4

23
Eléments du langage: Structure de contrôle (suite)
• Opérateurs de comparaison :
✓ condition = comparaison entre deux valeurs
Comparaison Syntaxe Exemple Résultat
Egalité == 1 == 1 True
Différence != 1 != 2 True
Supérieur > 1>2 False
strictement
Supérieur ou égal >= 1 >= 2 False
Inférieur strictement < 1<2 True
Inférieur ou égal <= 1 <= 2 True
✓ Opérateurs logiques pour composer des conditions complexes : and, or, not et ()
24
Eléments du langage: Structure de contrôle (suite)
• Structure conditionnelle ou alternative : if, elif, else

Mettre une
condition avec

25
Eléments du langage: Structure de contrôle (suite)
• Structure répétitive ou itérative :

False
Tant que « condition » :
True 1 Instruction 1
2 Instruction 2
3 Instruction 3
Instruction suivante

26
Eléments du langage: Structure de contrôle (suite)
• Structure répétitive ou itérative :
✓ La boucle while :

Bloc
d’instructions
à répéter

Facultatif
Bloc
d’instructions
exécuté une
seule fois
après la fin de
la boucle
27
Eléments du langage: Structure de contrôle (suite)
• Structure répétitive ou itérative : Intervalle : 0 → 4 ([0, 5[)
(5 non inclus)
✓ La boucle for :

Bloc
d’instructions
à répéter

Facultatif
Bloc OU
d’instructions
exécuté une
seule fois
après la fin de
la boucle
28
Eléments du langage: Fonctions
• Fonction = sous-programme
• Mathématiquement parlant :
Valeur retournée après −𝑥, 𝑥<0 Traitement (calcul)
𝑦= 𝑓 𝑥 =ቊ à effectuer
traitement (sortie) 𝑥, 𝑥≥0
Nom de la fonction
Paramètre ou argument (entrée)
• Règles pour le nommage d’une fonction:
➢Il doit commencer par une lettre
➢Pas d’espace → utiliser le « _ »
➢Pas de caractères spéciaux: # . , ( ) [ ] { } + -
➢MAJUSCULE ≠ minuscule (exemple : Fonction ≠ fonction)
➢Eviter d’utiliser les mots clés du langage
29
Eléments du langage: Fonctions (suite)
• Définition d’une fonction :
Paramètres de la fonction (données en entrée)
Définition
d’une fonction
en utilisant le
mot-clé

Bloc d’instructions :
Indentation traitement à faire
dans la fonction

• Appel d’une fonction: nomFonction (paramètre1,paramètre2,...)


30
Eléments du langage: Fonctions (suite)
• Une fonction peut être sans paramètres :
Fonction sans paramètres Fonction avec paramètres

Déclaration

Appel

• Nul besoin de préciser le type des paramètres (typage implicite)


• La définition d’une fonction doit précéder son utilisation (appel)

31
Eléments du langage: Fonctions (suite)
• Une fonction peut renvoyer une valeur; en utilisant le mot-clé return :
Fonction sans retour de résultat Fonction avec retour de résultat

Déclaration

Dernière instruction de la fonction

Appel et
Résultat

Fonction avec plusieurs return ?

32
Eléments du langage: Fonctions (suite)
• Portée des variables :

Variable locale déclarée Variable locale en paramètre Variable globale

x est accessible à partir de la


fonction car il est déclaré
x n’est pas défini dans le programme x n’est pas défini dans le programme dans le programme principal
principal car il est déclaré localement principal car il est déclaré localement en tant que variable globale
dans la fonction en tant que variable dans la fonction en tant que paramètre
33
Eléments du langage: Fonctions (suite)
• Règle LGI : Local, Global, Intern
1 2 3
LGI ?
x existe localement dans le fonction
→ C’est cette valeur qui sera affichée
Global

Local LGI ?

x est global → C’est la valeur du


programme principal qui sera affichée

34
Eléments du langage: Modules
• Module = Programme Python = Ensemble de définitions de classes,
fonctions et d’instructions …
✓ Fichier sauvegardé sous l’extension « .py »
✓ Avant de pouvoir l’utiliser, il faut l’importer!!!
✓ Exemple:

35
Eléments du langage: Modules (suite)
• Pour importer tout le module : import nom_module
• Exemple :

• Pour importer une fonction : from nom_module import nom_fonction


• Exemple :

36
Eléments du langage: Modules (suite)
• Comment rendre un module exécutable?

Blocs d’instructions à exécuter lors du


lancement du module

37
Eléments du langage: Modules (suite)
• Que fait la commande dir() ?

• Si le module se trouve sur un chemin différent du dossier courant :

38
Eléments du langage: Bibliothèque standard
• Bibliothèque = Ensemble de modules
• Fonctions mathématiques : math

39
Eléments du langage: Bibliothèque standard (suite)

• Système d’exploitation (gestion de processus, de fichiers, de


répertoires, ...) : os, sys

• Fonctions statistiques : statistics


• Interfaces graphiques : tkinter
•…

40
Petit exercice

41

Vous aimerez peut-être aussi