Aller au contenu principal

Les fonctions

Une fonction est un programme dans notre programme. Elle permet d'exécuter un ensemble de lignes de code sans avoir à les réécrire, juste en appelant la fonction.
Elle offre une meilleure lisibilité et réutilisabilité du code dans notre programme.

Leur utilisation s'apparente aux fonctions mathématiques : elles possèdent un nom, peuvent (ou non) avoir une (ou plusieurs) entrée(s), et peuvent donner un résultat :

La structure d'une fonction en python est toujours pareille :

def nom_fonction(parametre1, ...) :
#code ici

def est l'abréviation de defining (signifiant "définir"), suivi du nom à donner à la fonction. Les parenthèses sont obligatoires, même si on ne met pas de paramètres. Les doubles points indiquent que le code indenté en dessous fait partie de la fonction.

Retour de valeurs

Les fonctions peuvent retourner des valeurs grâce au mot-clé return (placé généralement en fin du programme) suivi d'une valeur ou d'une variable.
Si une fonction retourne des valeurs, il faut les stocker lorsqu'on l'appelle.

Exemple de fonction :

def multiplication(a,b) :
total = 0
for i in range(a):
total += b
return total

On définit une fonction appelée multiplication qui prend 2 entiers a et b en paramètres.
Dans cette fonction on crée une variable total qui va s'incrémenter par la valeur de b, autant de fois que la boucle tourne en fonction de la valeur de a.
Pour finir, on retourne la variable total.

Exécution :

m = multiplication(5,4)
print(m)

Dans le programme principal, on met dans la varible m le résultat retourné par la fonction multiplication, en fonction de ses paramètres 5 et 4.
Que donne le résultat d'après vous ?

Paramètres

Python est permissif sur le typage des données, c'est-à-dire qu'on ne précise pas le type des paramètres. En temps normal, il faut, dans les fonctions, contrôler si le type des paramètres est bien celui attendu pour notre fonction.
On ne peut pas multiplier un booléen avec une chaine de caractère, n'est-ce pas ?