class: center, middle # Création de modules --- # Création de modules * Ce qui a été vu : création de __Fonctions__ et utilisation de __Modules__. * On peut vouloir ré-utiliser une fonction dans un autre programme. * La solution consiste à créer un module et y héberger la fonction. * On groupe les fonctions autour d'un thème précis dans un même module. --- # Création de modules Pour créer un module il suffit de : * créer un fichier avec les fonctions * enregistrer ce fichier avec l'extension « `.py` » ```python 1 """Module inutile qui affiche des messages :-).""" 2 3 def bonjour(nom): 4 """Dit Bonjour.""" 5 return "Bonjour " + nom 6 7 def ciao(nom): 8 """Dit Ciao.""" 9 return "Ciao " + nom 10 11 def hello(nom): 12 """Dit Hello.""" 13 return "Hello " + nom 14 15 DATE = 16092008 ```
Remarque : notez les commentaires entre triple guillemets.
--- # Création de modules L'importation de son propre module se fait comme suit : ```python >>> # Ici on suppose que les fonctions sont dans "message.py" >>> import message >>> message.hello("Joe") 'Hello Joe' >>> message.ciao("Bill") 'Ciao Bill' >>> message.bonjour("Monsieur") 'Bonjour Monsieur' >>> message.DATE 16092008 ``` --- # Création de modules * Les `docstrings` sont les commentaires entre triple guillemets. * Ces commentaires sont appellés avec la commandes `help()`. * Ces commentaires sont donc la documentation du module. ```python >>> import message >>> help(message) Help on module message: NAME message - Module inutile qui affiche des messages :-). FUNCTIONS bonjour(nom) Dit Bonjour. ciao(nom) Dit Ciao. hello(nom) Dit Hello. DATA DATE = 16092008 FILE /home/oinizan/FORMATION-PYTHON-2019/message.py ``` --- # Travaux pratiques Créer un __module__ Python nommé « `sequence.py` » qui reprend les fonctions sur les séquences en _25 minutes d'autonomie_ : * Générer la séquence en majuscule. * Générer la séquence en minuscule. * Calculer la longeur de la séquence. * Extraire le premier codon. * Extraire le dernier codon. * Générer la séquence _reverse_. * Générer la séquence _complement_. Pensez à tester votre module ! --- # Travaux pratiques ```python Help on module sequence: NAME sequence - Un module pour la manipulation de sequences FUNCTIONS complement(seq) Retourne la sequence complémentée dernier_codon(seq) Retourne le dernier codon longueur(seq) Retourne la longueur de la séquence majuscule(seq) Retourne la séquence en majuscule minuscule(seq) Retourne la séquence en minuscule premier_codon(seq) Retourne le premier codon reverse(seq) Retourne la sequence reverse ... ```