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.
Fondamental : Syntaxe minimale d'une fonction
def nom_fonction():
instructionA instructionBSyntaxe : Fonction avec paramètre
Habituellement, une fonction est définie avec des paramètres. Il s'agit de variables qui vont s'adapter à un cas précis.
def ma_fonction(param1, param2):
...bloc d'instructions
...Et on l'appelle dans le programme avec l’instruction suivante :
ma_fonction(argument1, argument2)
Exemple :
Reprenons l'exemple de la table de multiplication.
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, comme dans l'exemple ci-dessous, où on ajoute un paramètre qui indique quand terminer la table.
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)