UVT : MASTER BADS

Programming, Python · course

Voir tous les documents en programmation

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