0% ont trouvé ce document utile (0 vote)
213 vues72 pages

Cours Python DIOP

Ce document introduit le langage de programmation Python. Il présente les bases syntaxiques du langage comme les variables, les types de données, les opérateurs et les structures de contrôle. Le document décrit également comment installer Python et exécuter des programmes.

Transféré par

Joseph Charles Faye
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
213 vues72 pages

Cours Python DIOP

Ce document introduit le langage de programmation Python. Il présente les bases syntaxiques du langage comme les variables, les types de données, les opérateurs et les structures de contrôle. Le document décrit également comment installer Python et exécuter des programmes.

Transféré par

Joseph Charles Faye
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 72

Université Cheikh Anta Diop

Ecole Supérieure Polytechnique


Département Génie Informatique

LE LANGAGE PYTHON
COURS INTRODUCTIF
Formateur
M. Mouhamed DIOP
[email protected]

DUT2 / ESP LICENCE 3 / EC2LT


Python ?
 Langage de programmation multi-paradigme
 Impératif (Procédural)
 Orienté objet
 Multiplateformes
 Interprété
 Typage dynamique
 Gestion automatique de la mémoire (ramasse -miettes)
 Open Source
 conçu pour produire du code de qualité, portable et facile à intégrer

2
Pourquoi apprendre Python?
 Très simple à apprendre
 Code moins volumineux
 Multiplateformes
 Très fun à utiliser
 Très documenté
 Grande communauté
 Peut être utilisé un peu partout (Administration système, applications bureau,
web, jeux vidéo…)

3
Un peu d’Histoire
 Crée par Guido van Rossum durant une semaine de vacances
 La première version est sortie en 1991

 Tire son nom de la série télévisée Monty Python's Flying Circus


 Guido était un fan de cette série britannique

 Principalement inspiré du:


 langage ABC pour l’indentation dans la syntaxe
 Modula-3 pour la gestion des exceptions
 Langage C et des outils UNIX

 Licence GPL depuis la version 2.1 (2001)

4
Installer Python
 Sous linux:
 Déjà installé
 Utiliser n’importe quel éditeur de texte pour le code source
 Exécuter en utilisant la commande python <nom_du_fichier>

 Sous Windows:
 http://www.python.org/getit/
 Il installera aussi l’IDE IDLE qui permet d’utiliser le shell python et d’écrire et exécuter votre
code.

5
Différentes versions de Python
 Depuis sa création, Python est passé par plusieurs versions (2.3, 2.5, 2.6, etc.)
 Ces versions sont englobées dans l’appellation Python 2.x
 Depuis le 13 Février 2009, la version 3.0.1 est sortie
 Elle casse la compatibilité ascendante
 Avènement de la version 3.x
 Un programme écrit en Python 2.x n’est plus forcément compatible avec la version 3.x
 Besoin d’adapter certains bouts de code
 Les bibliothèques ne sont plus accessibles de la même manière
 Ce cours concernera la version 3 du langage
 Faites attention aux ressources que vous trouvez sur le NET
 Repérer la version adéquate de Python utilisée

6
Syntaxe de base
Opérateurs
 Opérateurs arithmétiques:
 7+3 #10
 7-3 #4
 7*3 #21
 7**3 #343 (puissance)
 5/2 #2.5 (division réelle)
 7 % 3 #1 (modulo)
 7 // 3 #2 (division entière)

8
Opérateurs
 Opérateurs de comparaison: >, >=, ==,<=, <, !=
 Opérateurs logiques:
 and
 or
 not

 Un commentaire commence par le caractère # et s’étend jusqu’ à la fin de la


ligne
 Exemple: #Ceci est un commentaire

9
Les variables
 Pour déclarer une variable, la syntaxe générale est :
 nom_de_la_variable = valeur
 Une variable doit respecter quelques règles de syntaxe
 Le nom de la variable ne peut être composé que de lettres, majuscules ou minuscules, de
chiffres et du symbole souligné « _ » (appelé underscore en anglais).
 Le nom de la variable ne peut pas commencer par un chiffre.
 Le langage Python est sensible à la casse, ce qui signifie que des lettres majuscules et
minuscules ne constituent pas la même variable (la variable AGE est différente de aGe, elle-
même différente de age).

10
Les types de variables
 Pas de déclaration explicite du type d’une variable
 Le langage est à typage dynamique
 Le type d’une variable est celui de la valeur qu’on lui attribue
 Il peut changer pendant le programme
Exemple:
s = " Hello " #s est de type String
a = 2 #a est de type int
s = a+2 #s est maintenant de type int
 La fonction type(s) retourne le type de la variable s.

11
Les types de base
 Les nombres entiers:
 Peuvent être d’une taille quelconque (limité par la RAM)
 Correspond au type int en Python
 Les nombres flottants (réels)
 Notés avec un point décimal (7.2) ou avec une notation exponentielle (6.023e23)
 Correspond au type float dans Python
 Les types booléens qui prennent deux valeurs : True et False
 Notez bien le caractère majuscule au tout début
 Les chaines de caractères qui peuvent s’écrire de différentes façons
 entre guillemets ("ceci est une chaîne de caractères") ;
 entre apostrophes ('ceci est une chaîne de caractères') ;
 entre triples guillemets ("""ceci est une chaîne de caractères""" ).
 Correspond au type str dans Python
12
Opérations d’affectation
 a = 4 # Affectation
 a += 2 # idem à : a = a + 2 si a est déjà référencé
 a -= 2 # idem à : a = a - 2 si a est déjà référencé
 c = d = 8 # cibles multiples (affectation de droite à gauche)
 e, f = 2, 5 # affectation de tuple (par position)
 e, f = f, e # permutation entre e et f

13
Entrée clavier: input()
 Anciennement appelé raw_input() dans Python 2.x, la fonction input()
 Prend en paramètre le texte à afficher avant la saisie
 Lit ce qui est saisi au clavier et le retourne sous forme de chaine de caractères

 Pour lire une variable d’un autre type, il faut faire un transtypage (casting)
 Les transtypages sont de la forme : nouveau_type(variable)
 Exemple:
nom = input(" Quel est votre nom ? ");
age = int(input(" Veuillez donner votre age") )

14
Sortie écran (print)
 La fonction print permet d’afficher un message à l’écran
 Elle est devenue une fonction à partir de Python 3.0

 Sa syntaxe est : print(message_a_afficher)


 Elle fait un saut de ligne après l’affichage de la valeur donnée en paramètre
 Pour ne pas faire de retour à la ligne, on rajoute un paramètre end=" "

 Exemple :
nom = "Samba"
print(" Salut ", end = " " )
print(nom)

15
Print dans Python 2.x
 L’instruction print ne s’utilise pas de la même manière dans Python 2.x
 Elle ne correspond pas à une fonction
 Les parenthèses n’y sont pas obligatoires

 Exemple:
nom = "Samba"
print "Salut"
print nom
 Résultat:
Salut
Samba

16
Print dans Python 2.x
 Pour l’empêcher de sauter de ligne, il faut rajouter une virgule à la fin (elle
écrira un espace au lieu d’un saut de ligne)
 Exemple:
nom = "Samba"
print "Salut ",
print nom
 Résultat:
Salut Samba

17
Notion de bloc d’instructions:
 D’autres langages délimitent un bloc par les symboles { } ou BEGIN - END
 Python utilise l’indentation pour délimiter les blocs d’instructions
 Un bloc d'instructions est une suite d'instructions qui est alignée sur la même
indentation.
 Les blocs sont utilisés pour définir les corps des fonctions, des boucles, des
classes, etc.
 Il ne faut JAMAIS mélanger les tabulations et les espaces dans l’indentation
 Risque d’avoir une erreur
 La tabulation est généralement utilisée pour l’indentation

18
Structures de contrôle
Les conditions
 Syntaxe 1:
if condition:
instruction…
 Syntaxe 2:
if condition:
instruction…
else:
instruction…

20
Les conditions
 Syntaxe 3:
if condition_1:
instruction…
elif condition_2: #Equivalent à else if
instruction…
else:
instruction…

21
Les conditions
 Exemple:
If n > 0:
print (n + " est strictement positif ")
elif n < 0:
print (n + " est strictement négatif ")
else:
print (n + " est nul ")

22
Les boucles
 La boucle while
while condition:
instructions…
 Exemple:
i=0
while i < 5:
i = i+1
print (i)

23
Les boucles
 La boucle for
 Elle est équivalente à un foreach des autres langages

for element in sequence:


instructions…
 Exemple:
chaine = ‘salut’
for c in chaine:
print(c)

24
Les boucles
 Pour faire un for classique, il faut utiliser la fonction range( dont on donnera les
détails plus tard)
for i in range(n) : #Equivalent à for (i=0; i<n; i++ ) en C
instructions…
 Autres forme de la fonction range:
for i in range(k, n): # équivalent à for (i=k; i<n ; i++ ) en C
instructions…
for i in range(k, n, p): # équivalent à for (i=k; i<n ; i+=p ) en C
instructions…

25
les instructions break, continue
 L'instruction break permet d'arrêter une boucle avant sa fin.
while condition:
if condition2:
break
#si condition2 vérifiée, on sort de la boucle et on passe à instruction1
instructions…
instruction1
 L'instruction continue est similaire à break, mais au lieu d'interrompre la
boucle, on passe à la prochaine itération.

26
Structures de données
Les chaines de caractères
 Similaire aux chaines de caractères des autres langage (liste de caractères)
 Accès aux caractères par index, ie: pour une chaine s, s[i] retourne le ième
caractère
 Sont immuables (on ne peut changer leurs valeurs),il est donc interdit d’écrire
par exemple s[0]='a'
 Les constantes sont écrites entre "", ou entre ' '
 On peut écrire des " " dans les chaines délimitées par ' ' et des ' dans les chaines
délimitées par " "
 Le délimiteur peut aussi être « échappé » avec le caractère \

 Exemple:
S= " Je m’appelle Onizuka"
S= ' le mot " Oni" signifie démon en japonais ' 28
Opérations sur les chaines
 Concatenation " Hello" + " World" # " Hello World "
 "Hello " * 3 # ’Hello Hello Hello‘
 Supposons que S soit une chaine de longueur n
 Accès aux éléments:
 Le premier caractère est S[0] et le dernier S[n-1]
 S[i] retourne le ième élément de S
 S[-i] retourne le ième élément de S en partant de la fin. (à la position n-i)
 Sous chaines:
 La fonction len(S) retourne la taille de S.
 S[i:j] donne la sous-chaine composée des caractères aux positions i, i+1, …, j-1
 S[:j] donne la sous-chaine composée des caractères aux positions 0, 1, …, j-1
 S[j:] donne la sous-chaine composée des caractères aux positions j, j+1, …, n-1

29
Opérations sur les chaines
 len(s) #retourne le nombre de caractères de la chaine
 s.isalnum() # retourne vrai si tous les caractères sont alphanumériques
 s.isalpha() #retourne vrai si tous les caractères sont alphabétiques
 s.isdigit() # retourne vrai si tous les caractères sont des chiffres
 s.replace(old, new) # retourne une chaine où toutes les occurrences de « old »
dans s sont remplacées par « new »
 s.index(c) #retourne la position de c dans s
 Lève une exception s’il ne trouve pas ce qui est recherché dans la chaine

 s.rindex(c) #retourne la position de c dans s, en commençant par la fin


 Lève une exception s’il ne trouve pas ce qui est recherché dans la chaine

30
Formater une chaine
 Pour formater une chaine, on utilise sa fonction format
 La chaine en question doit contenir des {}
 Les {} seront remplacés dans l’ordre par les paramètres de la fonction format
 Exemple:
a=4
b=2
print "{} + {} = {} " .format(a, b, a+b) # 4 + 2= 6

31
Formater une chaine
 On peut aussi formater une chaine en utilisant les chaines de format suivants :
 %d pour les nombres entiers
 %f pour les flottants
 %s pour les chaines de caractères
 Etc.
 Regarder documentation officielle pour plus de détails sur les chaines de format
 Exemple
age = 25
nom = "Khady Ndiaye"
print(" Vous vous appelez %s et vous avez %d ans " % (nom, age));
# va afficher : Vous vous appelez Khady Ndiaye et vous avez 25 ans

32
Les listes
 Peuvent être considérées comme des tableaux hétérogènes de taille variable
 Accès par position
 Les objets de la liste peuvent être de types différents
 La taille de la liste change à chaque suppression ou insertion

 Ils ne sont pas immuables contrairement aux chaines, on peut faire : l[0]=val
 On peut créer des matrices sous forme de liste de listes
 Exemple: M=[[1, 2, 3], [4, 5, 6]]

33
Opérations sur les listes
 Créer une liste (vide) : l = [] ou l = list()
 l3 = l1+ l2 #Concaténer deux listes
 l.append(v) : Insère un élément v à la fin de l
 l.insert(i, v): Insère un élément v à la position i de l
 l.pop() retourne la valeur du dernier élément et le supprime de la liste (on le
dépile)
 l.pop(i) retourne la valeur du ième élément et le supprime de la liste
 l.remove(v): supprime la première occurrence de v dans l
 l.count(v): retourne le nombre d’occurrence de v dans l
 l1.extend(l2): insère tous les éléments de l2 à la fin de l1 (concaténation)
 Modifie la liste, contrairement à l’opérateur « + »

34
Opérations sur les listes
 l.sort(): Trie croissant de la liste l (si les objets ne sont pas des types standards,
il faut rajouter une fonction qu’on verra plus tard)
 l.reverse(): trie la liste l, dans l’ordre décroissant
 len(l): retourne la taille de l (le nombre d’éléments dans la liste)
 l[i:j] donne la sous-liste composée des valeurs aux positions i, i+1, …, j-1
 l[:j] donne la sous-liste composée des valeurs aux positions 0, 1, …, j-1
 l[j:] donne la sous-liste composée des valeurs aux positions j, j+1, …, n-1

35
Les tuples
 Ce sont des listes immuables
 Le contenu ne peut changer dès qu’il est défini
 On ne peut ni ajouter, ni supprimer un élément
 Se déclare comme les listes
 Remplacer les [] par des ()
 Exemple
un_tuple = (1, 2, 3, 4);
un_autre_tuple = (7,) # la virgule est obligatoire ici
print(un_tuple[1]) # affiche 2
un_tuple[0] = 5 # provoque une erreur

36
Opérations sur les tuples
 Créer un tuple (vide) : t = () ou t = tuple()
 Créer un tuple à partir d’une liste l : t = tuple(l)
 t3 = t1+ t2 #Retourne un tuple issu de la concaténation des tuples t1 et t2
 t.count(v): retourne le nombre d’occurrence de v dans t
 t.index(v): retourne la position de v dans le tuple

37
Les dictionnaires
 Comme les listes, ils peuvent contenir un ensemble de données de types divers
 Les éléments sont identifiés par des clés (généralement des chaines de caractères)
 Ressemble aux tableaux associatifs en PHP
 Se crée comme les listes, sauf qu’on remplace les [] par des {}
 Exemple
utilisateur = {}
utilisateur["login"] = "kira";
utilisateur["password"] = "passer";
utilisateur["email"] = "[email protected]";
utilisateur["age"] = 27;
print("L’email de l’utilisateur est : " + utilisateur["email"]);

38
Les fonctions
Les fonctions
 Les fonctions permettent de regrouper plusieurs instructions dans un bloc qui
sera appelé grâce à un nom.
 Python dispose d’un ensemble de fonctions prédéfinies
 Print est une fonction permettant de faire un affichage sur l’écran
 Type est une fonction permettant de connaitre le type d’une variable
 On a aussi la possibilité de créer nos propres fonctions
 Les fonctions prédéfinies ne vont pas répondre à tous nos besoins
 Le développeur aura assez souvent besoin de créer ses propres fonctions

40
Création d’une fonction
 La syntaxe générale de création d’une fonction est la suivante :
def nom_de_la_fonction(paramètre1, paramètre2, …, paramètreN) :
# Bloc d’instructions
 Le mot-clé « def », abbréviation de « define » constitue le prélude à toute fonction
 Le nom de la fonction est le nom à travers lequel la fonction sera utilisée
 Respecte les mêmes règles de nommage que les variables
 Ne doit pas correspondre au nom d’une variable déjà définie
 La liste des paramètres qui seront fournis lors d'un appel à la fonction
 Les paramètres sont séparés par des virgules et la liste est encadrée par des
parenthèses
 Les espaces sont optionnels mais améliorent la lisibilité.
 Les parenthèses sont obligatoires (même si la fonction ne dispose pas de paramètres)

41
Création d’une fonction
 Exemple de fonction sans paramètres
def direBonjour() :
print("Bonjour")
 Exemple de fonction avec un seul paramètre
def direBonjour(nom) :
print("Bonjour " + nom)
 Exemple de fonction avec plusieurs paramètres
def direBonjour(nom, prenom) :
print("Bonjour " + prenom + " " + nom)

42
Création d’une fonction
 Le nom d’une fonction est unique dans un programme
 Même si le nombre de paramètres varie
 Exemple : direBonjour() et direBonjour(nom) ne peuvent coexister dans un même
programme
 Peuvent être remplacées par direBonjour() et direBonjourA(nom) par exemple

 Un paramètre peut avoir une valeur par défaut


 C’est la valeur prise par le paramètre s’il n’est pas renseigné à l’appel
 Pour le créer, il suffit juste de lui affecter une valeur à la création
def direBonjourA(nom="Mouhamed") :
print("Bonjour " + nom)

43
Appel d’une fonction
 Une fois créé, la fonction peut être « appelée » à travers son nom
 L’appel correspond à l’utilisation effective de la fonction
 Des valeurs effectives seront données aux paramètres (le cas échéant)
 Exemple
 direBonjour() # va afficher « Bonjour » à l’écran
 direBonjourA("Samba") # va afficher « Bonjour Samba » à l’écran
 direBonjourA("Mariama") # va afficher « Bonjour Mariama » à l’écran
 direBonjourA() # va afficher « Bonjour Mouhamed » (utilisation de la valeur
par défaut du paramètre)

44
Les fonctions à paramètres variables
 Il est possible de créer une fonction pouvant être appelée avec un
nombre de paramètres variables
 Il suffit de précéder le nom du paramètre avec un « * »
 Exemple
def sayHelloTo(*names) :
for name in names :
print("Hello " + name);
 sayHelloTo("Samba") # va afficher « Hello Samba »
 sayHelloTo("Samba", "Fatou") # va afficher « Hello Samba » et « Hello
Fatou »

45
Les fonctions à paramètres variables
 S’il y’a des paramètres autre que celui dont le nombre de valeurs peut
varier, ce dernier devra être mis en dernière position
 Exemple
def somme(nombre1, nombre2, *nombres) :
resultat = nombre1 + nombre2;
for nombre in nombres :
resultat += nombre
print("La somme vaut : " + resultat)
 somme(12, 13) et somme(2, 7, 18) sont des appels corrects de la
fonction tandis que somme() et somme(5) ne le sont pas

46
Valeur de retour d’une fonction
 Une fonction peut retourner le résultat de son calcul
 Plus flexible que l’affichage direct
 Ca se fait à travers le mot clé « return »
 Exemple
def carre(nombre) :
resultat = nombre * nombre;
return resultat;

47
Valeur de retour d’une fonction
 La valeur de retour de la fonction est utilisée par le programme appelant
 Cette utilisation n’est pas obligatoire
 Exemple
nombre1 = carre(5); # récupération du résultat, nombre1 vaut 25
print("Le carré de 5 est : ", nombre1);
carre(2); # appel de la fonction sans utilisation du résultat (inutile ici)
print("Le carré de 8 est : ", carre(8)); # utilisation directe de la valeur de
retour comme paramètre d’une autre fonction
nombre2 = carre(carre(3)) # appels successifs de la fonction, nombre2 = 81

48
Portée des variables
 Les variables déclarées dans la fonction ne sont accessibles que dans la
fonction
 Un accès depuis le programme appelant va provoquer une erreur
 Une fonction peut accéder à des variables définies localement ou non
 L’accès aux variables locales peut se faire en lecture et en écriture
 L’accès aux variables globales ne peut se faire qu’en lecture
 Une tentative de modification (affectation) ne fait que créer une variable locale
à la fonction
 Peut provoquer une erreur dans certaines conditions (utilisation de += par exemple)
 Le mot-clé global peut être utilisé pour autoriser la modification de variables
globales

49
Portée des variables
 Exemple
def calculerSomme() :
nombre1, nombre2 = 3, 5;
somme = nombre1 + nombre2;
print("La somme vaut : ", somme);
calculerSomme();
print(somme); # va provoquer une erreur

50
Portée des variables
 Exemple
var nom = "Mané"
def afficherNom() :
print(nom);
nom = "Samb";
print(nom)
afficherNom() ; # va afficher « Mané », puis « Samb »
print(nom); # va afficher « Mané »

51
Portée des variables
 Exemple
var nom = "Mané"
def afficherNom() :
nom += "Samb"; # va provoquer une erreur
print(nom)

52
Portée des variables
 Exemple
var nom = "Mané"
def afficherNom() :
global nom; # pour autoriser la modification de la variable globale
print(nom);
nom = "Samb";
print(nom)
afficherNom() ; # va afficher « Mané », puis « »Samb »
print(nom); # va afficher « Samb »

53
Les modules
 Lorsqu’un programme grandit, il est préférable de séparer le code en
plusieurs fichiers
 facilite la réutilisation des fonctions
 Permet une meilleure organisation du code
 Python permet de placer des bouts de code dans un fichier et de les
utiliser ailleurs
 Un tel fichier est appelé « module »
 Leur définition et leur utilisation ne sont plus forcément liées
 Regroupement de plusieurs fonctions (ou classes) dans un seul espace de nom

54
L’importation de modules
 Pour utiliser du code défini dans un module, il faut d’abord l’importer
 L’importation se fait à travers le mot clé « import »
 Plusieurs syntaxes sont possibles
 Le nom du module correspond au nom du fichier contenant le code à
importer
 Il ne faut tout de même pas y spécifier l’extension du fichier

55
L’importation de modules
 L’importation peut se faire de plusieurs manières
 import nom_module [, nom_module2, …]
 Si on veut avoir accès à toutes les fonctionnalités définies dans le module
 import nom_module as nouveau_nom [, module_2 as nom_2, …]
 Accès aux fonctionnalités du module sous un nouveau nom
 from nom_module import element_module [, element2, …]
 Si on souhaite accéder à une partie des fonctionnalités offertes
 La liste des éléments peut être remplacée par « * » pour tout charger d’un seul coup
 from nom_module import element_module as nouveau_nom [, em2 as nom, …]
 Accès à une partie des fonctionnalités, sous un nouveau nom

56
Exemple d’utilisation des modules
 Dans le fichier fonctions.py, on définit les fonctions
def carre(nombre) :
return nombre * nombre;
def triple(nombre) :
return nombre * nombre * nombre;
def puissance(nombre, exposant) :
return nombre ** exposant;

57
Exemple d’utilisation des modules
 Dans test_fonctions_1.py, on a :
import fonctions
carre_de_neuf = fonctions.carre(9);
print("Le carré de 9 est : ", carre_de_neuf);
 Dans test_fonctions_2.py, on a :
import fonctions as math;
print("Le triple de 8 est : ", math.triple(8));

58
Exemple d’utilisation des modules
 Dans test_fonctions_3.py, on a :
from fonctions import carre;
carre_de_neuf = carre(9);
print("Le carré de 9 est : ", carre_de_neuf);
 Dans test_fonctions_4.py, on a :
from fonctions import puissance as pow, carre as sqr;
print("Le carre de 18 est : ", sqr(18));
print("Deux à la puissance 3 vaut : ", pow(2, 3));

59
Les modules standards
 Python est accompagné d'une bibliothèque de modules standards
 La composition de ces modules est configurable (à la compilation) et
dépend aussi de la plateforme cible
 Par exemple, le module winreg n’est proposé que pour les systèmes Windows
 Certains modules méritent une attention particulière
 sys : fournit un accès à certaines variables utilisées et maintenues par
l'interpréteur
 os : fournit une manière portable d’utiliser les fonctionnalités dépendantes
du système d’exploitation
 Etc.

60
Les modules standards
 Faire un tour sur la documentation officielle pour plus de détails
 Tutoriel sur les modules
 https://docs.python.org/fr/3/tutorial/modules.html
 Liste des modules standards
 https://docs.python.org/3/py-modindex.html

61
Les paquets
 Il y’a possibilité de regrouper des modules pour construire des paquets
 Les paquets sont un moyen de structurer les espaces de nommage des
modules Python en utilisant une notation « pointée »
 Par exemple, le nom de module A.B désigne le sous-module B du paquet A
 Sous Python, les paquets correspondent à des dossiers
 Ils doivent contenir un fichier « __init.py__ » (qui peut être vide)
 Le mot clé import est utilisé pour importer des paquets

62
Les exceptions
Les exceptions
 Même si une instruction ou une expression est syntaxiquement correcte,
elle peut générer une erreur lors de son exécution
 Les erreurs détectées durant l’exécution sont appelées des exceptions
 Elles ne sont pas toujours fatales : le programme peut les traiter
 Si elles ne sont pas traitées, elles provoquent l’arrêt du programme
 La plupart des exceptions ne sont pas prises en charge par défaut
 Le programmeur doit se charger de les gérer

64
Les exceptions
 Même si une instruction ou une expression est syntaxiquement correcte,
elle peut générer une erreur lors de son exécution
 Division par zéro, conversion d’une chaine en entier, etc.
 Les erreurs détectées durant l’exécution sont appelées des exceptions
 Elles ne sont pas toujours fatales : le programme peut les traiter
 Si elles ne sont pas traitées, elles provoquent l’arrêt du programme
 Les exceptions peuvent être de différents types
 Ce type est généralement indiqué dans les messages d’erreur
 Il existe des exceptions standards (natives) mais le développeur peut en
créer d’autres

65
Gestion d’une exception
 Syntaxe 1
try :
# bloc d’instructions à essayer
except :
# bloc d’instructions à exécuter en cas d’erreurs
 Exemple
age = input("Donner votre age")
try :
age = int(age)
except:
print("Erreur lors de la conversion de l’année");

66
Gestion d’une exception
 Syntaxe 2
try :
# bloc d’instructions à essayer
except type_exception:
# bloc d’instructions à exécuter en cas d’erreurs
 Une autre syntaxe
try :
# bloc d’instructions à essayer
except type_exception as messageErreur:
# bloc d’instructions à exécuter en cas d’erreurs
67
Gestion d’une exception
 Exemple
denominateur = input("Donner le dénominateur")
try :
resultat = 12 / denominateur;
except ZeroDivisionError :
print("Le dénominateur ne doit pas être nul")
except :
print("Une erreur inattendue s’est produite")

68
Gestion d’une exception
 Syntaxe 2
try :
# bloc d’instructions à essayer
except type_exception:
# bloc d’instructions à exécuter en cas d’erreurs
 Une autre syntaxe
try :
# bloc d’instructions à essayer
except type_exception as messageErreur:
# bloc d’instructions à exécuter en cas d’erreurs
69
Gestion d’une exception
 Syntaxe 3
try :
# bloc d’instructions à essayer
except type_exception:
# bloc d’instructions à exécuter en cas d’erreurs
else :
# instructions à exécuter si aucune erreur

70
Gestion d’une exception
 Syntaxe 4
try :
# bloc d’instructions à essayer
except type_exception:
# bloc d’instructions à exécuter en cas d’erreurs
finally :
# instructions à exécuter qu’il aie erreur ou pas
 Le bloc finally est exécuté dans tous les cas de figures
 Même quand le bloc except se termine par une instruction return

71
La Programmation Orientée
Objet

Vous aimerez peut-être aussi