Python en Mathématiques - Niveau 2

Les modules

Le module math

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()
	

Les alias

Certains noms de modules sont un peu longs et devoir préfixer chaque fonction du module par le nom du module est alors un peu pénible.

Pour remédier à cela, on peut utiliser un alias. Par exemple, ci-dessous on déclare m comme alias de math.


		
		

Connaître le contenu d'un module

  • Consulter la documentation en ligne. Ici pour le module math.
  • Obtenir la liste des fonctions disponibles dans le module depuis Python :
    
    import math
    
    print(dir(math))
    

    On obtient :

    ['__doc__', '__loader__', '__name__', '__package__',
    '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan',
    'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh',
    'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs',
    'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma',
    'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf',
    'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p',
    'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin',
    'sinh', 'sqrt', 'tan', 'tanh', 'trunc']
    
  • Obtenir une documentation sur une fonction depuis Python :
    
    import math
    
    print(help(math.trunc))
    

    On obtient :

    Help on built-in function trunc in module math:
    
    trunc(...)
        trunc(x:Real) -> Integral
        
        Truncates x to the nearest Integral toward 0. Uses the __trunc__ magic method.
    (END)