Définition d'une fonction
Définition : 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'instructions) qui utilise des paramètres.
En quelque sorte, une fonction est un sous-programme. Les programmes complexes deviennent ainsi plus courts et plus lisibles.
Exemple : Table de multiplication
Établissons le programme Python d'une table de 8 :
n = 8
for k in range(1,11) :
print(f'{n} x {k} = {n*k}')
Cela affiche :
8 x 1 = 8
8 x 2 = 16
8 x 3 = 24
8 x 4 = 32
8 x 5 = 40
8 x 6 = 48
8 x 7 = 56
8 x 8 = 64
8 x 9 = 72
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.
Syntaxe : Fonction avec paramètre
Une fonction est (généralement) définie en début de programme avec la syntaxe suivante :
def ma_fonction(paramètre):
...
bloc d'instructions
...
Et on l'appelle dans le programme avec l’instruction suivante :
ma_fonction(argument)
Exemple :
Reprenons notre exemple :
def table(n) : # fonction nommée table et présentant un paramètre : n
for k in range(1,11) :
print(f'{n} x {k} = {n*k}')
print('------') # pour séparer avec un trait en fin de table
table(8) # appel de la fonction table avec l'argument 8
table(6) # appel de la fonction table avec l'argument 6
On obtient ainsi :
8 x 1 = 8
8 x 2 = 16
8 x 3 = 24
8 x 4 = 32
8 x 5 = 40
8 x 6 = 48
8 x 7 = 56
8 x 8 = 64
8 x 9 = 72
8 x 10 = 80
------
6 x 1 = 6
6 x 2 = 12
6 x 3 = 18
6 x 4 = 24
6 x 5 = 30
6 x 6 = 36
6 x 7 = 42
6 x 8 = 48
6 x 9 = 54
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 x n à 12 x n (au lieu de l'affichage de 1 x n à 10 x 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.
def table(n, fin) : # fonction nommée table et présentant deux paramètres : n et fin
for k in range(1, fin+1) :
print(f'{n} x {k} = {n*k}')
print()
## appels de la fonction ##
table(8, 12)
table(6, 15)