Fonction en python (1/3)

DéfinitionFonction en mathématique

Une fonction est une relation qui associe à une valeur d'un ensemble de départ, une valeur de l'ensemble d'arrivée.

ExempleSinus

La fonction sinus associe à une valeur de l'ensemble des réels une valeur de l'ensemble des réels compris entre -1 et +1.

DéfinitionFonction en python (1/2)

En python la notation de fonction a été étendue (fortement !) :

Une fonction en python associe à ensemble de valeurs un ensemble de valeurs.

Une fonction est définie par le mot clef def, suivi du nom de la fonction, et de la liste des paramètres de la fonction.

ExempleAppel de la fonction avec argument positionnel

1
def ma_fonction(para1, para2, para3):
2
    return para1 + para2, para1 + para3, para2 + para3, para1 + para2 + para3

Cette fonction a 3 paramètres nommés para1, para2 et para3. Les valeurs retournées sont aux nombres de 4, la somme para1 et para2, la somme para1 et para3, la somme para2 et para3 et enfin la somme de para1, para2 et para3.

Pour appeler cette fonction, il faut utiliser son nom avec les arguments entre () :

1
print(ma_fonction(1,2,3))

Dans cet exemple, ma_fonction(1,2,3), les valeurs des arguments étaient associés aux paramètres de la fonction en fonction de leurs positions, para1 était égal à 1, para2 à 2 et para3 était égal à 3. Les arguments sont dits positionnels.

Le résultat est alors un tuple égal à (3, 4, 5, 6).

On peut aussi affecter le résultat à un tuple, ici appelé x :

1
x = ma_fonction(1,2,3)
2
print(x)

ExempleAppel de la fonction avec argument nommé

Reprenons la même fonction :

1
def ma_fonction(para1, para2, para3):
2
    return para1 + para2, para1 + para3, para2 + para3, para1 + para2 + para3

Dans l'exemple précédent, ma_fonction(1,2,3), les valeurs des paramètres étaient associés aux arguments en fonction de leurs positions, para1 était égal à 1, para2 à 2 et para3 était égal à 3. L'ordre peut être changé si les arguments sont nommés :

1
print(ma_fonction(1,para3=3, para2=2))

Le résultat est alors un tuple égal à (3, 4, 5, 6) comme lors de l'appel ma_fonction(1,2,3).

Attention

Dés qu'un argument nommé apparaît dans la liste des arguments de la fonction, les arguments qui suivent doivent aussi être nommés.