Méthodologie de la Programmation
Notes de cours - Séance II

Module math

# Pour accéder aux fonctions mathématiques import math # Les fonctions de math requièrent le prefixe math. math.cos(0) 1.0
# Le module math contient aussi des variables math.pi math.e math.inf math.nan math.cos(math.pi)

Créer ses propres modules

#module.py """ On met généralement ici un peu de documentation sur les fonctions que l'on trouve dans le module (docstring)""" # A l'import du module Python exécute ces instructions dans l'ordre x = 1+2 x = 3*x x
""" De la même manière que pour les modules par défaut, pour accéder au contenu de ses modules on pratique ainsi : """ import module print(module.x)

Différence scripts / modules

# module.py x = 1+2 x = 3*x x
# script.py x = 1+2 x = 3*x print(x)
$>python3 module.py
$>
$>python3 script.py
9
$>

Mot-clef from

from math import pi x = pi # x = 3.141592653589793
from math import * x = pi # x = 3.141592653589793 y = cos(pi) # -1.0

Dangers de import *

e = 12345 from math import * print(e) # 2.718281828459045, e a été écrasé
e = 12345 import math print(math.e) # 2.718281828459045 print(e) # 12345
# module.py x = 1+2 x = 3*x print(x) # Attention : ici print(x) sera exécuté immédiatement après l'importation du module

Mot-clef as

import math as m print(m.pi)

Rendre un script intéractif

x = input("Entrez quelquechose : ") print("Vous avez entré : " + x)
x = input('Nombre : ') print(x) type(x) # x est une string et doit être casté si on veut l'utiliser comme un nombre x = int(x) type(x) # int

Importer des fonctions

#module.py """ fonctions mathématiques inutiles """ # n est un "paramètre" de la fonction. # lorsque la fonction sera appellée elle prendra un "argument" affecté à n. def increment(n): # x est une variable locale qui disparait après le "return" x = n+1 return x # Header de la fonction def get_pieds(hauteur_en_pouces): # Corps de la fonction return hauteur_en_pouces // 12
import module print(module.increment(5)) # 6

Scope des modules

#module.py def modifier_globale(n): global b b = n
import module b = 42 module.modifier_globale(227) print(b) # 42

Main

def main(): print("Hello World!") # Ce bloc sera exécuté en premier à l'exécution du programme. if __name__ == "__main__": main()

Arguments du programme

from sys import argv print("Liste des arguments du programme :", str(argv)) print("Nom du programme :", argv[0])