Fonctions et modules en Python 2
èmepartie
Si l'on veut utiliser une fonction dans plusieurs programmes différents, il est possible de créer un fichier nom_fichier.py contenant cette fonction.
Vous aurez ainsi créé un module.
Avantages des modules:
Réutilisation de la fonction. Pour cela, il suffit d'importer le module dans le fichier principal.
La documentation et les tests peuvent être intégrés au module: il est alors facile de tester séparément chaque fonction. Ce principe sera vu plus tard.
La séparation des tâches dans un groupe de travail se trouve facilitée.
En général, les fonctions sur un même thème sont regroupées dans un module.
Exemples:
1. le module math déjà utilisé
2. Dans cette partie, vous allez découvrir le module csv qui permet d'utiliser des fichiers csv contenant des données.
Exercice 1 : Création de votre 1er module; travail à faire dans Spyder
1. Reprendre le code de l'exercice 4 et enregistrer le fichier sous le nom calcul_age_principal.py.
2. Mettre la fonction calcul_age(paramètre1,paramètre2) que vous avez créée dans un deuxième fichier calcul_age_module.py. Dans ce fichier il ne doit y avoir que la fonction (sans programme principal).
3. Dans le fichier calcul_age_principal.py, seul le programme principal doit apparaître.
4. Les deux fichiers doivent être dans le même répertoire.
5. Il suffit maintenant d'utiliser la méthode import comme ici
Exercice 2 :
Objectifs:A partir d'un programme donné
Comprendre le code.
Identifier les suites d'instructions pouvant être mise dans une fonction
Créer ces fonctions dans le même fichier que le programme principal.
Créer un module contenant les fonctions créées et utiliser la méthode import dans le programme principal.
Travail à réaliser
Dans les documents en consultation de votre classe, vous avez à votre disposition un dossier "exercice2- naissances" contenant un fichier prenoms.csv et le programme naissances_sans_fonction.py (voir annexe).
Copier ce dossier dans vos documents personnels.
Le fichier prenoms.csv comprend tous les prénoms donnés à Nantes en 2018, leur occurrence et le sexe correspondant.
1. Comprendre le format csv du fichier :
CSV est le sigle de Coma Separated Values, qui peut se traduire par « valeurs séparées par des virgules
». Il s’agit d’un format de fichier qui se caractérise par la représentation de données sous forme de texte, les valeurs de chaque cellule étant séparées par des virgules ou des points-virgules.
La documentation sur la lecture et l'écriture des fichiers csv est ici 1.1. Ouvrir le fichier prenom.csv dans le bloc-notes puis observer-le.
Par quel caractère sont séparées les différentes données?
1.2. Ouvrir maintenant le fichier prenoms.csv dans Excel puis observer-le.
1.3. Repérer les numéros de colonnes et leur entête.
2. Exécuter le programme naissances_sans_fonction.py.
3. Que fait ce programme ?
4. Observer le code pour bien comprendre les différentes parties.
5. Dans la console, taper : Help(‘csv’) pour avoir de l’aide sur le module csv et analyser le code permettant la création du tableau « prenoms ».
6. Après avoir enregistré le programme sous naissances_avec_fonctions.py, créer deux fonctions avec ou sans paramètres pour répondre aux 3 questions des menus 2,3 et 4.
7. Faire une copie du programme précédent et renommer le naissances_principal.py.
8. Créer un module naissances_fonctions.py contenant les 2 nouvelles fonctions créées et modifier le programme naissances_principal.py.
9. Pour aller plus loin : (si vous avez le temps)
9.1. Créer une fonction permettant d’ouvrir un fichier csv en utilisant la documentation ci-dessus.(à mettre dans le module naissances_fonctions.py)
9.2. Créer une fonction permettant de calculer le nombre de filles nées à Nantes en 2018. Ne pas oublier de modifier le menu. (à mettre dans le module naissances_fonctions.py)
9.3. Même chose pour les garçons.