Méthodologie de la Programmation
Notes de cours - Séance II
Scope
a = 5
def fct(arg):
b = "foo"
r = b * (a + arg)
a = 10
return r
fct(42)
a = 5
def fct(arg):
global a
b = "foo"
r = b * (a + arg)
a = 10
return r
fct(42)
Passage des arguments
def f (lst1, lst2):
lst1 = [1, 2, 3]
lst2.append(13)
a = [0, 1, 0, 1]
b = [10, 11, 12]
print(a)
print(b)
f(a, b)
print(a)
print(b)
Arguments par défaut
def get_distance (speed, duration = 1/6):
return speed * duration
get_distance(50, 0.5)
get_distance(130)
Module math
import math
math.cos(0)
1.0
math.pi
math.e
math.inf
math.nan
math.cos(math.pi)
Créer ses propres modules
""" On met généralement ici un peu de documentation
sur les fonctions que l'on trouve dans le module (docstring)"""
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)
Mot-clef from
from math import pi
x = pi
from math import *
x = pi
y = cos(pi)
Dangers de import *
e = 12345
from math import *
print(e)
e = 12345
import math
print(math.e)
print(e)
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 = int(x)
type(x)
Importer des fonctions
""" fonctions mathématiques inutiles """
def increment(n):
x = n+1
return x
def get_pieds(hauteur_en_pouces):
return hauteur_en_pouces // 12
import module
print(module.increment(5))
Scope des modules
def modifier_globale(n):
global b
b = n
import module
b = 42
module.modifier_globale(227)
print(b)