Vous êtes sur la page 1sur 25

L’Université Libre de Tunis

Institut Polytechnique Privé (IP2)

Chapitre V: Modules et Packages


Présentation de numpy, matplotlib, scipy, scikitlearn

réalisé par :
Wiem MIMOUN BEN HENIA

2019-2020
Plan

1. Modules

2. Python Scientifique

3. Bibliothèques tierces

4. Packages

5. Exercices Corrigés

2
Un programme Python est généralement composé de plusieurs fichiers
sources, appelés modules.

S’ils sont correctement codés, les modules doivent être indépendants les
uns des autres pour être réutilisés à la demande dans d’autres programmes.

 comment coder des modules et comment les importer dans un autre ?

3
•import
1. Modules
•Exemples

Définition: un module est un fichier script Python permettant de définir des éléments de
programme réutilisables. Ce mécanisme permet d’élaborer efficacement des bibliothèques
de fonctions ou de classes.

Avantages des modules :


 réutilisation du code
 la documentation et les tests peuvent être intégrés au module
 réalisation de services ou de données partagés
 partition de l’espace de noms du système.

4
•import
1. Modules
•Exemples

Mode d’importation?
L’instruction import charge et exécute le module indiqué s’il n’est pas déjà chargé.
L’ensemble des définitions contenues dans ce module deviennent alors disponibles :
variables globales, fonctions, classes.

•Trois formats pour l’importation des modules Python:


import somefile
from somefile import *
from somefile import className

 La différence? Qu'est-ce qui est importé du fichier et quel nom y fait référence après
l'importation?

5
•import
1. Modules
•Exemples

import somefile
•Toutes les définitions qui existent dans somefile.py sont importés.
•Pour faire référence à quelque fonction (i.e. objet) dans le fichier, ajoutez le texte « somefile »
au début de son nom: somefile.className.method(“abc”)

6
•import
1. Modules
•Exemples

from somefile import *

•Tous les objets qui existent dans somefile.py sont importés


•Pour faire référence à quelque définition dans le module, utilisez simplement son nom.
•Tout dans le module est maintenant dans l'espace de noms actuel.

L'utilisation de cette commande d'importation peut facilement écraser la définition


d'une fonction ou d'une variable existante!
className.method(“abc”)

7
•import
1. Modules
•Exemples

from somefile import className

•Seul l'élément className de somefile.py est importé.


•Après avoir importé className, on peut simplement l'utiliser sans préfixer le module.
•Il est introduit dans l’espace actuel de noms autre que le module somefile

Cette forme d’importation remplace la définition de ce nom s'il est déjà défini dans l'espace
du nom actuel!

className.method(“abc”)  imported

8
•import
1. Modules
•Exemples

Il est fortement recommandé d’importer dans l’ordre suivant :


les modules de la bibliothèque standard
 les modules des bibliothèques tierces
 Les modules personnel

9
•import
1. Modules
•Exemples

Auto Test

 Le module principal est celui qui est donné en argument sur la ligne de commande ou qui
est lancé en premier lors de l’exécution d’un script. Son nom est contenu dans la variable
globale __name__.

 Grâce à un auto test, on peut donc facilement savoir si le code est exécuté en tant que
script principal ou en tant que module importé

 Quand on importe le script, le test inclus est faux et on se borne à utiliser uniquement la
bibliothèque.

 La valeur obtenue qui est l’identificateur du module dépend du contexte de


l’exécution

10
•import
1. Modules
•Exemples

1. Ecrire dans un module test.py : print (« Je me nomme : », __name__)


2. Dans un nouveau script importer test.py
3. Exécuter le code
4. Commenter

11
•import
1. Modules
•Exemples

1. Editez ce code et enregistrez le dans un fichier cube.py

2. Dans un nouveau script, faites l’appel à ce module en le testant sur range (1,3):

12
•import
1. Modules
•Exemples

1. Editez ce code et enregistrez le dans un fichier ok.py

13
Bibliothéque Description

NumPy est le package fondamental de Python. Il contient: (i) un gestionnaire puissant des tableaux multidimensionnels, (ii) des fonctions
NumPy
sophistiquées, (iii) des outils pour intégrer le code C / C ++ et Fortran, et (vi) des fonctions utiles pour le traitement de signal

Scipy est un logiciel utile pour les mathématiques, la science et l'ingénierie et dépend fortement de NumPy. Le module Scipy est conçu pour
Scipy
fonctionner avec les tableaux multidimensionnels de NumPy.

Ce module offre l’accès à certaines variables et fonctions qui interagissent fortement avec l'interpréteur. L’objet sys.path (path est un sous-module de
Sys
sys) spécifie le chemin de recherche pour des modules externes.

Time Ce module fournit diverses fonctions liées au temps.

Pour visualiser les courbes, Matplotlib est une bibliothèque de traçage Python 2D. Il assure le contrôle total des styles de trait, des propriétés de
Matplotlib
police, des propriétés des axes, etc., à travers une interface orientée objet ou à travers un ensemble de fonctions similaires à celles de MATLAB.

Pandas intègre les fonctionnalités de NumPy et matplotlib pour fournir un outil pratique d'analyse, de traitement et de visualisation de différents types
de données. De plus, elle contourne les limitations de NumPy et principalement le chargement d’un fichier CSV qui exige que le contenu de chaque
Pandas
colonne soit une chaîne de caractères. Ainsi, Pandas est la suite de NumPy et gère les données d’une manière optimale en constituant vraiment un
avantage le fait que nous importions des fichiers CSV avec un contenu mixte sans avoir passé par des conversions.

14
2. Python Scientifique

La bibliothèque: math

15
2. Python Scientifique

La bibliothèque: numpy (1/4)

Le module numpy est la bibliothèque indispensable pour faire du calcul scientifique avec
Python

Pour modéliser les vecteurs, matrices et, plus généralement, les tableaux à n dimensions,
numpy fournit le type ndarray.

On note des différences majeures avec les listes (resp. les listes de listes) qui pourraient
elles aussi nous servir à représenter des vecteurs (resp. des matrices) :
Les tableaux numpy sont homogènes (constitués d’éléments du même type)

La taille des tableaux numpy est fixée à la création. On ne peut pas augmenter ou
diminuer la taille d’un tableau comme pour une liste (à moins de créer un tout nouveau
tableau).
16
2. Python Scientifique

La bibliothèque: numpy (2/4)

Le format d’un tableau numpy et la taille des objets qui le composent étant fixé,
l’empreinte du tableau en mémoire est invariable et l’accès à ses éléments se fait
en temps constant.

Les opérations sur les tableaux sont optimisées en fonction du type des éléments,
et sont beaucoup plus rapide qu’elles ne le seraient sur des listes équivalentes.

17
2. Python Scientifique

La bibliothèque: numpy (3/4)

18
2. Python Scientifique

La bibliothèque: numpy (4/4): Editez ce code et exploitez les résultats

19
2. Python Scientifique

La bibliothèque: matplotlib (1/2)

Matplotlib permet de représenter des graphes 2D

20
2. Python Scientifique

La bibliothèque: matplotlib (2/2)

21
•Définition
3. Bibliothèques tierces
•Exemples

Définition

Outre les nombreux modules intégrés à la distribution standard de Python, on trouve des
bibliothèques dans tous les domaines :

scientifique ;
bases de données ;
tests fonctionnels et contrôle de qualité ;
3D

Le site pypi.python.org/pypi recense des milliers de modules et de packages !

22
•Définition
3. Bibliothèques tierces
•Exemples

La bibliothèque: unum
Unum permet de faire le calcul en tenant compte des unités du système SI (Système
International d’unités).

23
4. Packages

Outre le module, un deuxième niveau d’organisation permet de structurer le code : les


fichiers Python peuvent être organisés en une arborescence de répertoires appelée paquet
(package en anglais).

Définition: Un package est un module contenant d’autres modules. Les modules d’un
package peuvent être des sous-packages, ce qui donne une structure arborescente.

Pour être reconnu comme un package valide, chaque répertoire du paquet doit
posséder un fichier __init__ qui peut soit être vide soit contenir du code
d’initialisation.
Classification

Text goes here


Notion de paquets

25

Vous aimerez peut-être aussi