Modules et librairies
Pourquoi des librairies ou des modules ?
Python contient déjà des fonctions natives, par exemple :
print("Hello world!")Mais afin de ne pas alourdir le programme ou ne pas réserver trop de noms de fonctions, certaines fonctions ne peuvent pas être directement appelées sous Python.
Ces fonctionnalités sont présentes dans des modules, c'est à dire un fichier code contenant ces fonctions, que l'on appelle au besoin.
Utiliser un module
Par exemple, la fonction cosinus existe et se nomme "cos". Mais si vous l'appelez, vous rencontrez une erreur :
>>>cos(0)
NameError: name 'cos' is not defined
La fonction cosinus existe, mais elle est contenue dans le module "math". Il faut donc d'abord appeler ce module pour exploiter les fonctions qu'il contient.
On importe un module. Ensuite il faudra appeler les fonctions en précisant qu'elles sont contenues dans ce module de la sorte : module.fonction(...)
import math
>>>math.cos(0) #On appelle la fonction "cos" du module "math"
1.0
On peut également importer une fonction précise d'un module, pour l'utiliser sans faire appel au module
from math import cos
>>>cos(0) #La fonction "cos" a été importée, on peut l'utiliser directement
1.0Ou plusieurs fonctions :
from math import cos, sin, tan
>>>cos(0)
1.0
>>>sin(0)
0.0On peut également importer toutes les fonctions d'un module (mémoire plus importante)
from math import *
>>>cos(0) #La fonction "cos" a été importée, on peut l'utiliser directement
1.0Les modules disponibles
Les modules disponibles peuvent être connus sur EduPython en tappant "import" et faisant ctrl+espace.
En physique, on utilisera notamment (non exhaustif !) :
math : pour avoir accès à des fonctions de math (!)
random : pour générer des nombres aléatoires
numpy : pour générer des tableaux
matplotlib : pour tracer des graphiques
Modules personnels
Vous pouvez-vous même créer un module et y créer vos fonctions, et les appeler dans d'autres programmes. En réalité, un module, c'est un fichier python comme un autre, qui définie des fonctions.
Un fichier (aussi appelé module) python contient et définie des fonctions.
On souhaite importer ces fonctions dans un fichier pour ne pas avoir à les ré-écrire.
L'appel se fait ainsi en début de programme :
Attention, le chemin relatif s'écrit avec des points "." en python.
Sur windows, le dossier "modules" contient le fichier fonction.py donne "modules\fonction.py" ; en python ça donne "modules.fonction"
Pour illustrer cela, reprenons le projet nucléaire (fin module 2) et travaillons la désintégration d'une population de noyaux en effectuant des "lancé de dés".
Un premier programme (module) définie des fonctions (générer une liste, lancer un dé) et s'appelle "fonctionDe.py"
Un second programme "desintregration.py" va chercher les fonctions contenues dans le module "fonctions.py" pour les utiliser.
Les deux fichiers sont dans le même dossier
Librairies (package)
On parle également de librairies ou bibliothèque (package en anglais). Une librairie est un ensemble de modules.
Pour la suite, sauf mention particulière, on parlera de module pour désigner des fonctions contenus des fichiers externes.
Last updated
Was this helpful?