Académique Documents
Professionnel Documents
Culture Documents
Jusqu’à présent, à chaque fois que nous faisions un exercice différent en python, il fallait créer un
nouveau fichier. Mais cela n’est pas très pratique et pose rapidement un problème quand nous
voulons faire des programmes plus complexes.
Pour résoudre ce problème, nous allons utiliser les fonctions.
Une fonction est une façon de donner un nom à une suite d’opérations afin de pouvoir la réutiliser à
notre guise. Les fonctions permettent ainsi de décomposer un programme complexe en sous-parties
pour pouvoir les traiter séparément et augmenter la lisibilité.
Remarque :
Sans le savoir, vous avez déjà utilisé des fonctions quand vous utilisiez print(), input() ou randint().
Exemple :
Ceci est un exemple d’une fonction qui prend en entrée un nombre et renvoie son carré.
Elle dispose d’un unique paramètre (ou argument) nommé nombre.
Elle renvoie une unique valeur nommée resultat.
2) Créations de fonctions
Pour définir une fonction, on utilise la syntaxe suivante :
Pour utiliser une fonction, on procède de la façon suivante (on va réutiliser la fonction carre vue
plus haut) :
Remarque :
Les parenthèses après le nom d’une fonction sont obligatoires de même que le symbole ‘:’ .
Remarque 2 : l’instruction return permet de retourner le ou les valeurs qui forment le résultat d’une
fonction. Toute instruction placée après le return ne sera pas effectuée.
Exemple :
Remarque :
En Python, si on ne met pas de return, la procédure ainsi obtenue renvoie en fait None.
Il existe un dernier type de fonctions qui sont les méthodes. Nous apprendrons à utiliser des
méthodes plus tard au cours de l’année et vous apprendrez à créer des méthodes en classe de
Terminale.
Les variables déclarées à l’extérieur d’une fonction ou d’une procédure sont appelées des variables
globales. Elles sont accessibles à l’intérieur d’une fonction si une variable locale du même nom
n’existe pas.
Remarque :
Déclarer une variable locale en utilisant le même nom qu’une variable globale est en général une
mauvaise pratique et est fortement susceptible d’être source d’erreurs.
Exemple :
5) Spécification et documentation
Comme les fonctions sont destinées à être réutilisée, par vous-même et par d’autres, il est important
de préciser son fonctionnement.
Pour chaque fonction, nous allons donc systématiquement préciser ce qu’elle prend en paramètres,
ce qu’elle retourne et ce qu’elle fait. On appelle cela les spécifications de la fonction.
En Python, on précise ces spécifications sous la forme d’une documentation (docstring), qui est
juste du texte mis entre triple guillemets et placé dans la première ligne du corps de fonction (après
le def).
Remarque :
Il n’existe pas de convention universelle sur l’écriture de la documentation, mais pour tout le reste
de l’année, nous allons utiliser la convention suivante :
• Sur la première ligne, on met les types des paramètres, une flèche, et les types des valeurs de
retour. Si il n’y a pas de valeur de retour, on mettra None.
• En deuxième ligne on met les préconditions, c’est à dire les conditions que les paramètres doivent
satisfaire afin que la fonction ait un sens.
• En troisième ligne, on précise le rôle de la fonction.
Remarque 2 :
Voici les types Python à connaître pour le moment (la liste s’enrichira au cours de l’année) :
Exemple :
6) Exercices
Pour tous les exercices, les fonctions devront être documentées et testées.
Exercice 1 :
Ecrire une fonction Python qui prend en argument un nombre et qui renvoie son double.
Exercice 2 :
1) Reproduire ce programme
Exercice 3 :
Ecrire en Python une fonction produit qui prend en paramètre deux entiers et qui renvoie leur
produit.
Exercice 4 :
Ecrire en Python une fonction maximum qui prend en paramètre deux entiers et qui renvoie le plus
grand des deux.
Exercice 5 :
Ecrire en Python une procédure conv_duree qui prend en paramètre une durée en seconde et qui
affiche cette même durée en heures, minutes, secondes.
Par exemple conv_duree(7422) affichera « 2 heures, 3 minutes et 42 secondes ».
Exercice 6 :
Ecrire en Python une fonction somme qui prend en entrée un entier a et un entier b, avec a < b, et
qui renvoie la somme des entiers de a à b (inclus).
Exercice 7 :
Exercice 8 :