Les fonctions
Voici des instructions qui permettent d'afficher le carré d'un nombre
>>>a=3
>>>b=a**2
>>>b
9
Si, nous avons également besoin du carré de 5 et 7... on pourrait copier-coller les instructions précédentes et afficher le résultat. Mais il y a mieux à faire : regrouper ces instructions dans un bloc sous la forme d'une fonction, a devenant un paramètre de la fonction.
En Python une fonction est définie par l'instruction composée def suivie du nom de la fonction et se termine obligatoirement par deux points : puis le bloc d'instructions qu'il ne faut pas oublier d'indenter.
Une fonction est utilisée 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
La notion de fonction en informatique relève du même concept qu'une fonction mathématique, c'est-à-dire qu'on définit une fonction puis on l'applique à différentes valeurs.
# -*- coding: utf-8 -*-
def carree(a) :
"""
Fonction permettant de renvoyer le carré du nombre a qui est en paramètre
"""
return a**2 # renvoye l'image de a par la fonction carree
Pour écrire le programme ci-dessus dans la zone de Saisie de programme de EduPython, on clique sur Fichier, Nouveau puis Nouveau Module Python comme l'indique la figure ci-dessous :
ou bien, on clique sur Nouveau Fichier, l'icônePython 3.4, puis Créer comme l'indique la figure ci-dessous :
Une fois la fonction est définie dans la zone de Saisie de programme de EduPython, on ne doit pas oublier de l'enregistrer dans le dossier qui convient en lui donnant un nom :
Après l'enregistrement, pour utiliser cette fonction, on l'appelle par l'instruction carree(3) en utilisant la console pour afficher le carré de 3
mais il ne faut pas oublier d'exécuter le programme en utilisant l'icône "flèche verte" avant d'utiliser la console,
sinon la fonction carree ne sera pas reconnue comme l'indique la figure ci-dessous :
Lorsqu'on définit la fonction carree(), a est appelé paramètre de la fonction.
Quant on appelle la fonction avec une valeur explicite pour a, comme dans carree(3), on dira plutôt que 3 est un argument de
la fonction.
En appelant la fonction carree() d'argument 3, on obtient 9 :
>>> carree(3)
9
>>>
Quelques remarques.
-
La fonction est auto-documentée par un texte entre """ et """ (c'est ce que l'on appelle le docstring de la fonction).
Le docstring d'une fonction permet de donner des informations sur la fonction, le lien entre les entrées et la sortie (en d'autres termes, le rôle de la fonction).
Quant on saisit dans la console, après l'exécution de la fonction, l'instruction
help(nom de la fonction), python affiche le docstring de la fonction ce qui nous permet d'avoir des informations sur la fonction en cas d'oubli.>>> help(carree) Help on function carree in module __main__: carree(x) Fonction permettant de renvoyer le carré du nombre x qui est en paramètre >>> - La fonction se termine avec une instruction return. Ce qui suit le return est l'image des entrées par la fonction. Dès que la fonction rencontre un return, elle renvoie ce qui suit le return et stoppe son exécution.