|
Page 9 sur 13
Utilisation de modules
Principe
Un module est une collection de fonctions, en général regroupées suivant un même thème.
Pour rappel, input() et raw_input() sont des fonctions de base du langage python permettant de récupérer des entrées utilisateurs.
Donc pour éviter que chaque programmeur réécrive à chaque fois des fonctions utiles à tous, on les enregistre sous forme de module.
Imaginons par exemple que nous ayons besoin de calculer la racine d'un nombre dans plusieurs programmes. Il faudrait pour chaque programme redéfinir la fonction racine(). Si on cherche ( un tout petit peu... ), on se rend compte qu'une telle fonction existe déjà dans le module math, sous le nom sqrt() ( square root de l'anglais qui signifie racine carrée ).
Donc plutôt que de réinventer la roue, il suffit d'importer la fonction sqrt() du module math là où on en a besoin. Pratique !
Importation
D'où la question : comment importer une fonction d'un module ou même un module complet ?
Il y a plusieurs possibilités :
qui va importer simplement la fonction voulue. Dans toute la suite du programme, on pourra alors appeler directement la fonction :
>>> sqrt(5) 2.2360679774997898
Si on doit importer plusieurs fonctions ou constantes, il suffit de les séparer par une virgule :
from math import sqrt, pi, cos, exp
ou pour tout importer d'un coup ( et je répète, cela va importer toutes les fonctions du modules et rendre le programme peut-être inutilement lourd ) :
Il existe une manière plus courte d'importer toutes les fonctions d'un module :
MAIS ! Il faut bien noter que l'utilisation des fonctions avec cette syntaxe est très différentes, car pour l'appel des fonctions il faut préciser le nom du module en premier lieu :
>>> math.sqrt(5) 2.2360679774997898
Cette notation peut sembler plus lourde, mais permet tout de même une syntaxe plus claire à l'intérieur du code : on sait exactement à quel module appartient une fonction en lisant le code.
Quelques modules que nous utiliserons
- math : comme décrit plus haut, ce module permet d'utiliser les fonctions et constantes classiques en math : les fonctions trigonométriques ( cos(), sin(), tan(), etc...), fonction racine ( sqrt() ), les nombres pi et e, les logarithmes et exponentielles ( log(), log10(), exp() ), partie entière et partie fractionnaire ( modf() ), valeur absolue( abs() et fabs() ), etc....
- Tkinter : pour générer une interface graphique rapidement et simplement à vos programmes. Quelques exemples sont traités dans la dernière page de cette introduction.
- re : pour le traitement des expressions régulières. Je ne vais expliquer en détail ce que sont les expressions régulières, simplement me cantonner à dire qu'il s'agit de chercher/remplacer un motif dans une chaine de caractères ( par exemple pour vérifier dans un formulaire si une adresse email a été rentrée correctement ). On utilise en général les fonctions split() ( pour couper une chaine à chaque motif trouvé ) ou match() ( pour chercher un motif ). Pour plus d'infos : page officielle ( page en anglais ).
Exercices :
- Ecrire un programme avec un menu qui permette à l'utilisateur de calculer suivant son choix le périmètre d'un cercle, l'aire d'un disque, le volume d'une boule ( V ) la surface d'une sphère ( S ). Les formules à connaitre sont :


- Ecrire un programme permettant de résoudre une équation du second degré de la forme
.
- Ecrire un programme qui simule le lancé d'un dé à 6 faces, autant de fois que l'utilisateur le désire ( celui-ci peut très bien choisir de lancer un million de fois le dé ). L'utilisateur choisit le nombre de lancés, et doit voir apparaitre le nombre de résultats pour chacun des 6 chiffres.
- Ecrire un jeu de devinettes : un nombre entier est choisi au hasard entre 1 et 10000, et l'utilisateur doit le trouver avec le moins de tentatives possible.
|