Main

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 :

def nomFonction(param1, param2,..):
        # 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 ) :

def nomFonction(*params):
        # 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 :
def loop() :
        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.