Programmation Python/Modules
Définition.
Vous avez déjà rencontré des fonctions "intégrées" au langage lui-même, comme la fonction codice_1, par exemple, qui permet de connaître la longueur d'une chaîne de caractères. Les fonctions intégrées au langage sont relativement peu nombreuses : ce sont seulement celles qui sont susceptibles d'être utilisées très fréquemment. Les autres sont regroupées dans des fichiers séparés que l'on appelle des "modules".
Les modules sont donc des fichiers qui regroupent des ensembles de fonctions. En effet, il peut être commode de découper un programme important en plusieurs fichiers de taille modeste pour en faciliter la maintenance et le travail collectif. Une application Python typique sera alors constituée d'un programme principal accompagné de un ou plusieurs modules contenant chacun les définitions d'un certain nombre de fonctions accessoires.
Il existe un grand nombre de modules pré-programmés qui sont fournis d'office avec Python. Vous pouvez en trouver d'autres chez divers fournisseurs. Souvent on essaie de regrouper dans un même module des ensembles de fonctions apparentées que l'on appelle des "bibliothèques".
Un module peut être appelé depuis plusieurs programmes, il s'agit d'un fichier .py commençant par son identité (qui ne contient pas de point).
N'importe quel fichier .py peut donc être appelé depuis un autre comme un module. Il peut contenir :
Importer un module.
Pour utiliser des fonctions de modules dans un programme, il faut au début du fichier importer ceux-ci.
Pour ce faire, utiliser la commande "import" :
import os
import codecs
Sur la même ligne (syntaxe déconseillée) :
import os, codecs
Ou encore en sélectionnant certains ou tous les éléments d'un fichier :
from pywikibot import *
À noter : cette dernière méthode est dangereuse, car des objets du module portant le même nom que des objets du programme peuvent s'écraser l'un l'autre. Mieux vaut donc les nommer explicitement :
from pywikibot import pagegenerators
Le module "math", par exemple, est fournit avec Python, et contient les définitions de nombreuses fonctions mathématiques telles que "sinus", "cosinus", "tangente", "racine carrée", etc. Pour pouvoir utiliser ces fonctions, il vous suffit d'incorporer la ligne suivante au début de votre script :
from math import *
Dans le corps du script lui-même, vous écrirez par exemple :
codice_2 pour assigner à la variable "racine" la racine carrée de nombre,
codice_3 pour assigner à la variable "sinusx" le sinus de angle (en radians !), etc.
Modules personnalisés.
Pour créer son propre module et l'importer dans un autre fichier, il faut :
import Fichier1
Fichier1.fonction1()
Pour changer le préfixe :
import Fichier1 as F1
F1.fonction1()
Pour supprimer le préfixe :
from Fichier1 import *
fonction1()
from Fichier1 import *
from Fichier2 import *
from Fichier3 import *
__all__ = ["Fichier1", "Fichier2", "Fichier3"]
Dans le dossier parent :
import lib
fonction1()
Liste des modules standards.
Les modules standards les plus importants sont :
Exemple du module "math".
from math import *
nombre = 121
angle = pi/6 # soit 30° (la bibliothèque math inclut aussi la définition de pi) 
print 'racine carrée de', nombre, '=', sqrt(nombre)
print 'sinus de', angle, 'radians', '=', sin(angle)
L'exécution de ce script provoque l'affichage suivant :
Ce court exemple illustre déjà fort bien quelques caractéristiques importantes des fonctions :
Nous allons développer tout ceci dans les pages suivantes. Veuillez noter au passage que les fonctions mathématiques utilisées ici ne représentent qu'un tout premier exemple. Un simple coup d'œil dans la documentation des bibliothèques Python vous permettra de constater que de très nombreuses fonctions sont d'ores et déjà disponibles pour réaliser une multitude de tâches, y compris des algorithmes mathématiques très complexes (Python est couramment utilisé dans les universités pour la résolution de problèmes scientifiques de haut niveau). Il est donc hors de question de fournir ici une liste détaillée. Une telle liste est aisément accessible dans le système d'aide de Python :
Au chapitre suivant, nous apprendrons comment créer nous-mêmes de nouvelles fonctions.
</ol>

Programmation Python/Utilisation de fenêtres et de graphismes