Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikilivres
Rechercher

Programmation Python/Modules

Un livre de Wikilivres.
<Programmation Python
FonctionsFonctions
Exercices sur les bases du langageExercices sur les bases du langage
Partie 1 - Introduction
  1. Avant-propos à l'attention des non-programmeursUne version complète existe
  2. IntroductionUne version complète existe
  3. InstallationUne version complète existe
  4. ÉditeursUne version complète existe
  5. Programmer en deux minutesUne version complète existe
Partie 2 - Le langage
  1. Afficher un texteUne version complète existe
  2. Structure d'un programmeUne version complète existe
  3. VariablesUne version complète existe
  4. OpérateursUne version complète existe
  5. Structures de contrôleUne version complète existe
  6. Instructions répétitivesUne version complète existe
  7. TypesUne version complète existe
  8. FonctionsUne version complète existe
  9. ModulesUne version complète existe
  10. ExercicesUne version complète existe
  11. RegexUne version complète existe
  12. Programmation orientée objet pour les non-programmeursUne version complète existe
  13. ClassesUne version complète existe
  14. Classes et Interfaces graphiquesUne version complète existe
  15. FichiersUne version complète existe
  16. ExceptionsUne version complète existe
  17. Bases de donnéesFait à environ 50 %
  18. L'interface CGIEn cours
  19. Applications webEn cours de finition
  20. RéseauEn cours
  21. ThreadsFait à environ 50 %
Partie 3 - Les bibliothèques
  1. Bibliothèques pour PythonEn cours
  2. L'interface graphiqueEn cours
  3. Utilisation de fenêtres et de graphismesEn cours de finition
  4. Les threadsEn cours
  5. XMLFait à environ 50 %
  6. JSONFait à environ 50 %
  7. TestsEn cours
  8. Analyse statique de programmesEn cours
  9. FabricEn cours
  10. Le Web
Wikilivres connexes
Partie 1 - Introduction
  1. Avant-propos à l'attention des non-programmeursUne version complète existe
  2. IntroductionUne version complète existe
  3. InstallationUne version complète existe
  4. ÉditeursUne version complète existe
  5. Programmer en deux minutesUne version complète existe
Partie 2 - Le langage
  1. Afficher un texteUne version complète existe
  2. Structure d'un programmeUne version complète existe
  3. VariablesUne version complète existe
  4. OpérateursUne version complète existe
  5. Structures de contrôleUne version complète existe
  6. Instructions répétitivesUne version complète existe
  7. TypesUne version complète existe
  8. FonctionsUne version complète existe
  9. ModulesUne version complète existe
  10. ExercicesUne version complète existe
  11. RegexUne version complète existe
  12. Programmation orientée objet pour les non-programmeursUne version complète existe
  13. ClassesUne version complète existe
  14. Classes et Interfaces graphiquesUne version complète existe
  15. FichiersUne version complète existe
  16. ExceptionsUne version complète existe
  17. Bases de donnéesFait à environ 50 %
  18. L'interface CGIEn cours
  19. Applications webEn cours de finition
  20. RéseauEn cours
  21. ThreadsFait à environ 50 %
Partie 3 - Les bibliothèques
  1. Bibliothèques pour PythonEn cours
  2. L'interface graphiqueEn cours
  3. Utilisation de fenêtres et de graphismesEn cours de finition
  4. Les threadsEn cours
  5. XMLFait à environ 50 %
  6. JSONFait à environ 50 %
  7. TestsEn cours
  8. Analyse statique de programmesEn cours
  9. FabricEn cours
  10. Le Web
Wikilivres connexes

FonctionsFonctions
Exercices sur les bases du langageExercices sur les bases du langage

Définition

[modifier |modifier le wikicode]

Vous avez déjà rencontré des fonctionsintégrées au langage lui-même, comme la fonctionlen(), 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 desmodules.

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 desbibliothè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[1]. Il peut contenir :

du script
des fonctions
des classes
...

Importer un module

[modifier |modifier le wikicode]

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" :

importosimportcodecs

Sur la même ligne (syntaxe déconseillée[2]) :

importos,codecs

Ou encore en sélectionnant certains ou tous les éléments d'un fichier :

frompywikibotimport*

À 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 :

frompywikibotimportpagegenerators

Le modulemath, par exemple, est fournit avec Python, et contient les définitions de nombreuses fonctions mathématiques telles quesinus,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 :

frommathimport*

Dans le corps du script lui-même, vous écrirez par exemple :

racine = sqrt(nombre) pour assigner à la variable "racine" la racine carrée de nombre,sinusx = sin(angle) pour assigner à la variable "sinusx" le sinus de angle (en radians !), etc.

Modules personnalisés

[modifier |modifier le wikicode]

Pour créer son propre module et l'importer dans un autre fichier, il faut :

  • Soit que le module existe sous la forme d'un fichier .py situé dans le même dossier que le fichier qui l'importe. Exemple :
importFichier1Fichier1.fonction1()

Pour changer le préfixe :

importFichier1asF1F1.fonction1()

Pour supprimer le préfixe :

fromFichier1import*fonction1()
  • Soit qu'il soit dans un autre dossier du programme, contenant un fichier__init__.py joutant le rôle de relais en important tous fichiers situés à côté de lui, ce qui permettra à toutes les fonctions de ce dossier d'être accessibles par le nom du dossier. Exemple dans un dossier "lib" :
fromFichier1import*fromFichier2import*fromFichier3import*__all__=["Fichier1","Fichier2","Fichier3"]

Dans le dossier parent :

importlibfonction1()

Liste des modules standards

[modifier |modifier le wikicode]

Les modules standards les plus importants sont[3] :

  • cgi
  • math
  • os
  • pickle
  • random
  • re
  • socket
  • sys
  • time
  • urllib

Exemple du module "math"

[modifier |modifier le wikicode]
# Démo : utilisation des fonctions du module <math>frommathimport*nombre=121angle=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 :

racine carrée de 121 = 11.0sinus de 0.523598775598 radians = 0.5

Ce court exemple illustre déjà fort bien quelques caractéristiques importantes des fonctions :

  • une fonction apparaît sous la forme d'un nom quelconque associé à des parenthèses. Exemple :sqrt()
  • dans les parenthèses, ontransmet à la fonction un ou plusieursarguments. Exemple :sqrt(121)
  • la fonction fournit unevaleur de retour (on dira aussi qu'elle « renvoie » une valeur). Exemple :11.0

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 :

Documentation HTML ® Python documentation ® Modules index ® math

Au chapitre suivant, nous apprendrons comment créer nous-mêmes de nouvelles fonctions.

Exercices

(Note : Dans tous ces exercices, utilisez la fonctionraw_input() pour l'entrée des données)
  1. Écrivez un programme qui convertisse en mètres par seconde et en km/h une vitesse fournie par l'utilisateur en miles/heure. (Rappel : 1 mile = 1609 mètres)
  2. Écrivez un programme qui calcule le périmètre et l'aire d'un triangle quelconque dont l'utilisateur fournit les 3 côtés.(Rappel : l'aire d'un triangle quelconque se calcule à l'aide de la formule :
    S=d×(da)×(db)×(dc){\displaystyle S={\sqrt {d\times (d-a)\times (d-b)\times (d-c)}}}dans laquelle d désigne la longueur du demi-périmètre, et a, b, c celles des trois côtés).
  3. Écrivez un programme qui calcule la période d'un pendule simple de longueur donnée.La formule qui permet de calculer la période d'un pendule simple estT=2πlg{\displaystyle T=2\pi {\sqrt {\frac {l}{g}}}},l représentant la longueur du pendule et g la valeur de l'accélération de la pesanteur au lieu d'expérience.
  4. Écrivez un programme qui permette d'encoder des valeurs dans une liste. Ce programme devrait fonctionner en boucle, l'utilisateur étant invité à entrer sans cesse de nouvelles valeurs, jusqu'à ce qu'il décide de terminer en frappant <enter> en guise d'entrée. Le programme se terminerait alors par l'affichage de la liste. Exemple de fonctionnement :
    Veuillez entrer une valeur : 25Veuillez entrer une valeur : 18Veuillez entrer une valeur : 6284Veuillez entrer une valeur :[25, 18, 6284]

Solution

  1. # Conversion de miles/heure en km/h et m/sprint"Veuillez entrer le nombre de miles parcourus en une heure : ",ch=raw_input()# en général préférable à input()mph=float(ch)# conversion de la chaîne entrée en nombre réelmps=mph*1609/3600# conversion en mètres par secondekmph=mph*1.609# conversion en km/h# affichage :printmph,"miles/heure =",kmph,"km/h, ou encore",mps,"m/s"
  2. # Périmètre et Aire d'un triangle quelconquefrommathimportsqrtprint"Veuillez entrer le côté a : "a=float(raw_input())print"Veuillez entrer le côté b : "b=float(raw_input())print"Veuillez entrer le côté c : "c=float(raw_input())d=(a+b+c)/2# demi-périmètres=sqrt(d*(d-a)*(d-b)*(d-c))# aire (suivant formule)print"Longueur des côtés =",a,b,cprint"Périmètre =",d*2,"Aire =",s
  3. Réfléchissez !
  4. # Entrée d'éléments dans une listett=[]# Liste à compléter (vide au départ)ch="start"# valeur quelconque (mais non nulle)whilech!="":print"Veuillez entrer une valeur : "ch=raw_input()ifch!="":tt.append(float(ch))# variante : tt.append(ch)# affichage de la liste :printtt

Références

[modifier |modifier le wikicode]
  1. (anglais)http://docs.python.org/2/tutorial/modules.html
  2. https://www.python.org/dev/peps/pep-0008/#imports
  3. http://www.python.org/doc/
Récupérée de "https://fr.wikibooks.org/w/index.php?title=Programmation_Python/Modules&oldid=640232"
Catégorie :

[8]ページ先頭

©2009-2025 Movatter.jp