UVT : MASTER BADS
M 3
PYTHON
Les fonctions
Enseignante: Mme Lamia MANSOURI
Année universitaire: 2020-2021
1
1. Déclaration
La déclaration d’une fonction se compose :
▪ du mot clé def suivi de l’identificateur de la fonction, de parenthèses entourant les paramètres de
la fonction séparés par des virgules, et du caractère «deux points» qui termine toujours une instruction composée;
▪ d’une chaîne de documentation (ou docstring) indentée comme le corps de la fonction;
▪ du bloc d’instructions indenté par rapport à la ligne de définition, et qui constitue le corps de la fonction
▪ Le bloc d’instructions est obligatoire. S’il est vide, on emploie l’instruction pass.
▪ La valeur de retour est définie en utilisant le mot-clé return.
def nomDeLaFonction(liste de paramètres):
...
bloc d'instructions
...
Exemple
fonction calculant la somme de i1 à i2
def sum(i1, i2):
result = 0
for i in range(i1, i2 + 1):
result += i
Publicité
return result
2
▪
▪
▪
Il est possible de donner des valeurs par défaut aux arguments.
Les valeurs par défaut sont transmises aux paramètres lorsque la fonction est appelée
sans arguments.
Les arguments prédéfinis doivent suivre les autres
▪ Il est possible aussi de retourner plusieurs valeurs
2. Appel d’une fonction
Soit cette fonction
def petit (a, b):
if (a < b):
d = a
else:
d = 0
return d
Passage de paramètres par position :
print(petit(10, 12))
Passer les paramètres selon les positions
attendues
Passage par nom:
print(petit(a=10,b=12))
Aucune confusion possible
Publicité
print(petit(b=12, a=10))
4
3. Variables locales et variables globales
Lorsqu’une fonction est appelée, Python réserve pour elle (dans la mémoire de l’ordinateur) un espace de
noms. Cet espace de noms local à la fonction est à distinguer de l’espace de noms global où se trouvait les
variables du programme principal.
variables locales à la fonction :
▪ Ces variables ne sont accessibles qu’à la fonction elle-même.
▪ Les contenus des variables locales sont stockés dans l’espace de noms local qui est inaccessible depuis
l’extérieur de la fonction.
5
3. Variables locales et variables globales
Variables globales:
▪Les variables définies à l’extérieur d’une fonction sont des variables globales.
▪Leur contenu est « visible » de l’intérieur d’une fonction, mais la fonction ne peut pas le modifier.
Exemple : def g() :
a=3
print("Dans la fonction g : ", a)
return a
def f(a) :
a+=2
print("Dans la fonction f : ", a)
return a
a=3
print(a)
Publicité
g()
print(a)
f(a)
print(a)
f(a+5)
print(a)
a=f(a+7)
print(a)
3
Dans la fonction g : 3
3
Dans la fonction f : 5
3
Dans la fonction f : 10
3
Dans la fonction f : 12
12
6
3. Variables locales et variables globales
Utilisation d’une variable globale - global
global est une instruction Python qui indique que la variable a qui est utilisée à l’intérieur de la fonction est
la même que celle qui est définie à l’extérieur de la fonction (dans l’environnement global).
7
4. Imbrication des fonctions
Il est possible de définir une fonction dans une autre fonction. Dans ce cas, elle est locale à la fonction, elle n’est
Publicité
pas visible à l’extérieur.
8
5. La fonction lambada
▪ Les lambdas Python sont de petites fonctions anonymes (essentiellement utilisé dans les calculs
mathématiques).
▪ des fonctions extrêmement courtes car limitées à une seule instruction.
▪ pas de return, l'expression est automatiquement retournée
▪ pas d'instructions, seulement une expression (par exemple : for, if, while ne sont admis ! )
syntaxe
Exemples:
lambda arg1, arg2,… : instruction de retour
F(x)=x2
F=lambda x: x**2
Print(F(3))
F(x,y)=x2+y
F=lambda x, y : x**2 + y
Print(F(3,5))
9
14
9