Référence : Fonctions Pyduino
def
Description
L'instruction def permet de déclarer une fonction. Une fonction est un ensemble d'instructions, autrement dit un bout de programme qui assure une fonction précise.
Les fonctions constituent un thème important du langage Python que nous abordons ici de façon simplifiée pour vous permettre de comprendre ce que vous faîtes. Au fur et à mesure de votre progression, vous découvrirez assez naturellement les différentes façons de programmer les fonctions et les classes.
Structure générale d'une fonction
Typiquement, une fonction :
- a un nom
- reçoit des paramètres
- renvoie une valeur (ou rien)
Une bonne image de ce qu'est une fonction est le « moulin à café » :
- la fonction s'appelle « moulin à café »
- la fonction reçoit en entrée des « grains de café » : les paramètres
- la fonction renvoie en sortie du café moulu : la valeur renvoyée
Autre exemple, une fonction assurant la multiplication de 2 nombres :
- pourra s'appeler multiplication
- recevra en paramètres les 2 nombres
- renverra le résultat
Syntaxe
En fait, le Python est plus simple qu'un langage tel que le C car :
- il n'est pas nécessaire de préciser le type renvoyé par la fonction
- il n'est pas nécessaire de préciser le type des paramètres reçus .
En ce qui concerne les paramètres reçus :
- si la fonction ne reçoit aucun paramètre, on laissera les parenthèses vides
- si la fonction reçoit plusieurs paramètres, on fera précéder d'un * le paramètre
- le code de la fonction est encadré par le : du début et le retour de tabulation de fin.
Cela donne la structure type suivante :
- le mot clé pour indiquer que l'on déclare une fonction est def
- que l'on fait suivre du nom de la fonction,
- puis des paramètres entre ( ), laissées vides si aucun paramètre
- suivie enfin des : de début du code
- puis suit le code de la fonction qui est indenté par rapport aux :
- le code se termine par return si la fonction renvoie quelque chose
Première syntaxe possible :
# instructions
...
return valeur # valeur renvoyée
#-- fin fonction
Une autre syntaxe possible (le nombre des paramètres reçus par la fonction est ici variable ) :
# instructions
...
return valeur # valeur renvoyée
#-- fin fonction
Paramètres
- params ou param1, param2, ..: tout type de variable ou de constante ou objet (y compris list, tuple, etc... Python est très puissant pour çà !)
- valeur : tout type de variable ou de constante ou objet (y compris list, tuple, etc... Python est très puissant pour çà !)
Remarque
Remarque:
Vous voyez que la même déclaration de la fonction va supporter les types int, float, etc... là où en C, il aurait fallut écrire une fonction pour chaque type de paramètre pouvant être reçu par la fonction (surcharge des fonctions).
En Python, il n'est pas nécessaire d'indiquer le type des paramètres reçus par la fonction, ni le type de la valeur ou de l'objet renvoyé par la fonction.
Ceci simplifie grandement la programmation. D'autre part, il est possible de passer en paramètre toutes sortes d'objets (list, string, etc...) comme nous le verrons ultérieurement.
Exemples
La fonction multiplication :
def multiplication(a,b):
return a*b # valeur renvoyée
#-- fin fonction
- Lorsque une fonction est laissée vide, ajouter simplement le mot-clé return pour éviter une erreur lors de l'exécution :
return # si vide
Liens utiles
http://docs.python.org/2/reference/compound_stmts.html#def
Commentaires utilisateurs
Aucun commentaire
Voir également :
- : (deux-points)
Page d'accueil de la référence Pyduino en français
Corrections, suggestions et nouvelle documentation peuvent être postées à l'adresse suivante : support_at_mon-club-elec_point_fr
Cette page a été réalisée par Xavier HINAULT (2013) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.