« Programmation Python/Modules » : différence entre les versions

Contenu supprimé Contenu ajouté
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 20 :
 
Pour ce faire, utiliser la commande "import" :
<sourcesyntaxhighlight lang="python">
import os
import codecs
</syntaxhighlight>
</source>
Sur la même ligne (syntaxe déconseillée<ref>https://www.python.org/dev/peps/pep-0008/#imports</ref>) :
<sourcesyntaxhighlight lang="python">
import os, codecs
</syntaxhighlight>
</source>
 
Ou encore en sélectionnant certains ou tous les éléments d'un fichier :
<sourcesyntaxhighlight lang="python">
from pywikibot import *
</syntaxhighlight>
</source>
A 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 :
<sourcesyntaxhighlight lang="python">
from pywikibot import pagegenerators
</syntaxhighlight>
</source>
 
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 :
 
<sourcesyntaxhighlight lang=python>
from math import *
</syntaxhighlight>
</source>
 
Dans le corps du script lui-même, vous écrirez par exemple :
Ligne 52 :
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 :
<sourcesyntaxhighlight lang="python">
import Fichier1
Fichier1.fonction1()
</syntaxhighlight>
</source>
 
Pour changer le préfixe :
<sourcesyntaxhighlight lang="python">
import Fichier1 as F1
F1.fonction1()
</syntaxhighlight>
</source>
 
Pour supprimer le préfixe :
<sourcesyntaxhighlight lang="python">
from Fichier1 import *
fonction1()
</syntaxhighlight>
</source>
 
* Soit qu'il soit dans un autre dossier du programme, contenant un fichier <code>__init__.py</code> 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 dans un dossier "lib" :
<sourcesyntaxhighlight lang="python">
from Fichier1 import *
from Fichier2 import *
Ligne 76 :
 
__all__ = ["Fichier1", "Fichier2", "Fichier3"]
</syntaxhighlight>
</source>
 
Dans le dossier parent :
<sourcesyntaxhighlight lang="python">
import lib
fonction1()
</syntaxhighlight>
</source>
 
== Liste des modules standards ==
Ligne 98 :
 
=== Exemple du module "math" ===
<sourcesyntaxhighlight lang=python>
# Démo : utilisation des fonctions du module <math>
 
Ligne 107 :
print 'racine carrée de', nombre, '=', sqrt(nombre)
print 'sinus de', angle, 'radians', '=', sin(angle)
</syntaxhighlight>
</source>
 
L'exécution de ce script provoque l'affichage suivant :
Ligne 154 :
<ol>
<li>
<sourcesyntaxhighlight lang="python">
# Conversion de miles/heure en km/h et m/s
 
Ligne 164 :
# affichage :
print mph, "miles/heure =", kmph, "km/h, ou encore", mps, "m/s"
</syntaxhighlight>
</source>
</li>
 
<li>
<sourcesyntaxhighlight lang="python">
# Périmètre et Aire d'un triangle quelconque
 
Ligne 184 :
print "Longueur des côtés =", a, b, c
print "Périmètre =", d*2, "Aire =", s
</syntaxhighlight>
</source>
</li>
 
Ligne 190 :
 
<li>
<sourcesyntaxhighlight lang="python">
# Entrée d'éléments dans une liste
 
Ligne 203 :
# affichage de la liste :
print tt
</syntaxhighlight>
</source>
</li>
</ol>