.
Les fonctions
.
DEFINITION :
- La programmation est l’art d’apprendre à un ordinateur comment accomplir des tâches qu’il n’était pas capable de réaliser
- auparavant. L’une des méthodes les plus intéressantes pour y arriver consiste à ajouter de nouvelles instructions au langage de programmation que vous utilisez, sous la forme de fonctions originales.
Définir une fonction
Les scripts que vous avez écrits jusqu’à présent étaient à chaque fois très courts, car leur objectif était seulement de vous faire assimiler les premiers éléments du langage.
Lorsque vous commencerez à développer de véritables projets, vous serez confrontés à des problèmes souvent forts complexes, et les lignes de programme vont commencer à s’accumuler…
L’approche efficace d’un problème complexe consiste souvent à le décomposer en plusieurs sous-problèmes plus simples qui seront étudiés séparément (ces sous-problèmes peuvent éventuellement être eux-mêmes décomposés à leur tour, et ainsi de suite).
D’autre part, il arrivera souvent qu’une même séquence d’instructions doive être utilisée à plusieurs reprises dans un programme.
Les fonctions
permettent d’éviter de réécrire plusieurs fois les mêmes lignes de code et donc d’avoir un programme plus compact et plus lisible.
Les fonctions et les classes d’objets sont différentes structures de sous-programmes qui ont été imaginées par les concepteurs des langages de haut niveau afin de résoudre les difficultés évoquées ci-dessus.
Nous allons commencer par décrire ici la définition de fonctions sous Python.
Nous avons déjà rencontré diverses fonctions préprogrammées. Voyons à présent comment définir nous-mêmes de nouvelles fonctions originales.
FONCTIONS ET PROCEDURES :
La syntaxe Python pour la définition d’une fonction est la suivante :
def nom_de_la_fonction(paramètres) :
{indentation} Bloc d’instructions**
- Vous pouvez choisir n’importe quel nom pour la fonction que vous
créez, à l’exception des mots réservés du langage, et à la condition
de n’utiliser aucun caractère spécial ou accentué (le caractère
souligné »
_
» est permis). Comme c’est le cas pour les noms de variables, il vous est conseillé d’utiliser surtout des lettres minuscules, notamment au début du nom (les noms commençant par une majuscule seront réservés aux classes. - Comme les instructions
if
etwhile
que vous connaissez déjà, l’instructiondef
est une instruction composée.La ligne contenant cette instruction se termine obligatoirement par un double point
, lequel introduit un bloc d’instructions que vous ne devez pas oublier d’indenter. - La liste de
paramètres
spécifie quelles informations il faudra fournir en guise d’arguments lorsque l’on voudra utiliser cette fonction (les parenthèses peuvent parfaitement rester vides si la fonction ne nécessite pas d’arguments). - Une fonction s’utilise pratiquement comme une instruction quelconque. Dans le corps d’un programme, un appel de fonction est constitué du nom de la fonction suivi de parenthèses. Si c’est nécessaire, on place dans ces parenthèses le ou les arguments que l’on souhaite transmettre à la fonction. Il faudra en principe fournir un argument pour chacun des paramètres spécifiés dans la définition de la fonction, encore qu’il soit possible de définir pour ces paramètres des valeurs par défaut.
Exemple 0501 :
.
programme | Résultat |
---|---|
# 0501 fonction_multiplication.py # définir une fonction def table(base): n=1 while n<10: print(n,'x',base,'= ',n*base, ' ;') n=n+1 #programme principal base=int(input("Entrer un nombre entier :")) table(base) # appel de la fonction |
Entrer un nombre entier :5 1 x 5 = 5 ; 2 x 5 = 10 ; 3 x 5 = 15 ; 4 x 5 = 20 ; 5 x 5 = 25 ; 6 x 5 = 30 ; 7 x 5 = 35 ; 8 x 5 = 40 ; 9 x 5 = 45 ; |
VRAIES FONCTIONS :
Pour les puristes, les fonctions que nous avons décrites jusqu’à présent ne sont pas tout à fait des fonctions au sens strict, mais plus exactement des procédures.
Une « vraie » fonction (au sens strict) doit en effet renvoyer une valeur lorsqu’elle se termine.
Une « vraie » fonction peut s’utiliser à la droite du signe égale dans des expressions telles que :
\(\ y\ = \ \sin(\mathbf{a})\).
On comprend aisément que dans cette expression, la fonction \(\mathbf{\sin}\mathbf{()}\) renvoie une valeur (le sinus de l’argument \(\mathbf{a}\mathbf{\ }\)qui est directement affectée à la variable \(y\).
Commençons par des exemples simples :