Les fonctions

Définition

Une fonction est  une portion de code effectuant une tâche ou un calcul relativement indépendant du reste du programme, regroupé sous un nom (définition) et s'exécutant à la demande (appel).

C'est de fait un mini programme qui à partir de données en entrées renvoie des résultats en sorties.

Syntaxe

  • [Définition de la fonction]~

def NomFonction(x1,x2,...):

    """ commentaires"""

    # bloc d'instructions

    # calcul des sorties y1,y2 ...

    # en fonction des entrées x1,x2 ...

    return (y1,y2,...)

  • [Utilisation (appel de la fonction)]

b1,b2 ... = NomFonction(a1,a2...)

Commentaires

  • L'En-tête : def NomFonction(x1,x2,...):

L'En-tête est définie par le mot-clé def, suivi par le nom de la fonction et une liste entre parenthèses de paramètres formels, le tout se terminant par deux points.   

 C'est lors de l'appel de la fonction que ces paramètres vont recevoir des valeurs.

Les noms des paramètres utilisés pour définir la fonction ne correspondent pas forcément à ceux des expressions utilisées lors de l'appel, seule leur position compte.

  • La partie commentaire

 Il y a une ou des lignes  de documentation, encadrées par trois guillemets.

On peut  lire cette documentation en tapant help(NomFonction) donc respectez le modèle suivant

  1. ère ligne : paramètres entrées (type) \to resultat (type)
  2. ème ligne : éventuellement le but de la fonction.

On peut lire les  """ commentaires"""  en tapant help(NomFonction).

  • Le bloc d'instructions

 pas ou peu d'input : les données sont introduites via les paramètres.

 pas ou peu de print : on renvoie le résultat, on ne l'affiche pas.

  Il peut y avoir plusieurs instructions return. Quand la fonction rencontre une telle instruction, elle s'arrête et renvoie les valeurs qui suivent le mot return.

 Une fonction peut  ne nécessiter aucune donnée, ni renvoyer aucune valeur.

 return against print : Le but d'une fonction est de retourner des valeurs pas de les afficher. On doit donc terminer les fonctions avec return et rarement avec print, print sera par contre utiliser dans le programme principal pour afficher les résultats.

Deux exemples simples

[y=f(x) : ]  f(x)=cos(x)+5x

Remarque : On a besoin du module math pour utiliser la fonction cos

import math as m

def f(x):

    """ x:float -> 5x+cos(x) : float"""

    return m.cos(x)+5*x

[Suite : ]Le n-ème terme de la suite définie par récurrence u(n+1)=f(u(n))

def suite(n):

    u=1 # u(0)=1

    for i in range(n+1):

       u=f(u)

    return u

Appel

y=f(2) ; print(y) ; print(suite(3))  

La fonction f étant celle qui a été définie précédemment dans le script.

 

Fichier Joint: 

Ajouter un commentaire

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Saisir les caractères affichés dans l'image.