Certaines fonctions Python ne sont pas disponibles directement mais demandent de faire appel à un module. C'est le cas par exemple de quelques fonctions mathématiques.
La fonction racine carrée (sqrt
) par exemple se
trouve dans le module math
.
Il faut donc importer le module math
dans le script en
cours. On peut charger tout le module ou ne charger que les
fonctions dont on a besoin.
Pour charger la seule fonction dont on a besoin dans le script en cours plutôt que l'intégralité du module :
On peut également choisir d'importer toutes les fonctions du module :
On peut choisir d'importer le module comme suit :
Dans ce cas, chaque fonction doit être préfixée par le nom du module.
L'intérêt de ce choix est de pouvoir disposer de deux fonctions nommées de la même façon mais provenant de
deux modules différents (cela arrive assez vite).
Imaginez en effet que les modules A
et B
contiennent tous deux une fonction nommée scrogneugneu()
.
Dans ce premier code :
from A import scrogneugneu
from B import scrogneugneu
comme dans le suivant :
from A import *
from B import *
seule la seconde fonction scrogneugneu()
(celle du
paquet B
) pourra être utilisée. Elle est en effet chargée
après celle du paquet A
, sa définition écrase donc la précédente.
Tandis que le script suivant utilisera bien les deux fonctions distinctes :
import A
import B
# utilisation de la fonction scrogneugneu du paquet A
# par A.scrogneugneu()
# utilisation de la fonction scrogneugneu du paquet B
# par B.scrogneugneu()