Définition d'une fonction

Fonction simple

Dans les langages de programmation, une fonction est une instruction isolée du reste du programme, qui possède un nom, et qui peut être appelée par ce nom à n'importe quel endroit du programme et autant de fois que l'on veut. Cette fonction possède un corps (un bloc d'instruction) qui utilise des paramètres.

En quelque sorte, une fonction est un sous-programme. Les programmes complexes deviennent ainsi plus courts et plus lisibles.

ExempleTable de multiplication

Établissons le programme Python d'une table de 8 :

1
n = 8
2
for k in range(1,11) :
3
    print('{} x {} = {}'.format(n,k,n*k))

Cela affiche :

1
8 x 1 = 8
2
8 x 2 = 16
3
8 x 3 = 24
4
8 x 4 = 32
5
8 x 5 = 40
6
8 x 6 = 48
7
8 x 7 = 56
8
8 x 8 = 64
9
8 x 9 = 72
10
8 x 10 = 80

Si dans le même programme, nous souhaitons faire appel à la table de 6, il va falloir ré-écrire le programme, en copiant et collant, mais cela alourdirait le programme et le rendrait peu lisible. On peut donc utiliser une fonction ; il faut donc transformer ce code pour en faire une fonction et dire que n est à présent l'argument de la fonction.

MéthodeFonction avec paramètre

Une fonction est (généralement) définie en début de script avec la syntaxe suivante :

1
def ma_fonction(paramètre):
2
   ...
3
   bloc d'instructions
4
   ...

Et on l'appelle dans le programme avec l’instruction suivante :

1
ma_fonction(argument)

Exemple

Reprenons notre exemple :

1
def table(n) : # fonction nommée table et présentant un paramètre : n
2
    for k in range(1,11) :
3
        print('{} x {} = {}'.format(n,k,n*k))
4
    print() # pour laisser une ligne vide en fin de table
5
			
6
table(8) # appel de la fonction table avec l'argument 8
7
table(6) # appel de la fonction table avec l'argument 6

On obtient ainsi :

1
8 x 1 = 8
2
8 x 2 = 16
3
8 x 3 = 24
4
8 x 4 = 32
5
8 x 5 = 40
6
8 x 6 = 48
7
8 x 7 = 56
8
8 x 8 = 64
9
8 x 9 = 72
10
8 x 10 = 80
11
12
6 x 1 = 6
13
6 x 2 = 12
14
6 x 3 = 18
15
6 x 4 = 24
16
6 x 5 = 30
17
6 x 6 = 36
18
6 x 7 = 42
19
6 x 8 = 48
20
6 x 9 = 54
21
6 x 10 = 60

Ajouter des paramètres...

Lorsqu'on définit la fonction table(), n est appelé paramètre de la fonction. Lorsqu'on appelle la fonction avec une valeur explicite pour n, comme dans table(6), on dira plutôt que 6 est un argument de la fonction. Ainsi, le paramètre est le nom qui apparaît dans la définition de la fonction et l'argument est la valeur effectivement transmise à la fonction.

Une fonction peut présenter plusieurs paramètres.

Si l'on veut pouvoir par exemple afficher la table de 1*n à 12*n (au lieu de l'affichage de 1*n à 10*n), on peut ajouter un paramètre marquant le dernier coefficient voulu.

Exemple

Dans cet exemple, on affiche 2 tables de multiplications avec une table qui finit à 12 et l'autre à 15.

1
def table(n, fin) : # fonction nommée table et présentant deux paramètres : n et fin
2
    for k in range(1,fin+1) :
3
        print('{} x {} = {}'.format(n,k,n*k))
4
    print()  
5
			
6
##  appels de la fonction ##
7
table(8, 12)  
8
table(6, 15)