Computer Programming">
[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
1 vues7 pages

Cours Programmation Python Fonctions Modules

Ce document traite des fonctions et modules en Python, expliquant leur utilité pour rendre le code plus lisible et réutilisable. Il présente la définition des fonctions, l'utilisation de paramètres, les variables locales et globales, ainsi que les fonctions récursives. Enfin, il aborde l'importation de modules, en particulier le module math, pour réutiliser des fonctions courantes.

Transféré par

El hacen youcef
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
1 vues7 pages

Cours Programmation Python Fonctions Modules

Ce document traite des fonctions et modules en Python, expliquant leur utilité pour rendre le code plus lisible et réutilisable. Il présente la définition des fonctions, l'utilisation de paramètres, les variables locales et globales, ainsi que les fonctions récursives. Enfin, il aborde l'importation de modules, en particulier le module math, pour réutiliser des fonctions courantes.

Transféré par

El hacen youcef
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours Programmation Python

MPSI GD/GC

2020/0221
Chapitre III : Les fonctions et modules
1. Les fonctions

En programmation, les fonctions sont très utiles pour réaliser plusieurs fois la même opération au sein
d’un programme. Elles permettent également de rendre le code plus lisible et plus clair.

Fonction

Groupe d’instructions regroupé sous un nom et s’exécutant à la demande de l’utilisateur, lors de


l’appel.
Cela permet de :
 Pouvoir répéter une certaine action à plusieurs endroits d’un même programme, ou même
dans des programmes différents (en définissant des fonctions dans des fichiers séparés
qu’on importe ensuite)
 Rendre certaines actions plus modulables en les faisant dépendre de paramètres.
 Une fonction prend en paramètres un certain nombre de variables ou valeurs et retourne
un objet calculé suivant l’algorithme donné dans sa définition ou Pas de retour(None).
 Vous pouvez choisir n’importe quel nom pour la fonction que vous créez, a l’exception
des mots réservés du langage, et à la condition de n’utiliser aucun caractère spécial ou
accentue (le caractère souligne ≪ _ ≫ est permis). Comme c’est le cas pour les noms de
variables, il vous est conseillé d’utiliser surtout des lettres minuscules, notamment au
début du nom
 Comme les instructions if et while que vous connaissez déjà, l’instruction def est une
instruction composée. La ligne contenant cette instruction se termine obligatoirement par
un double point :
La syntaxe générale de la définition d’une fonction est la suivante :

La chaîne de caractères « description » est facultative. Elle permet de définir la description qui sera
donnée dans la page d’aide associée à cette fonction.
Les instructions sont les différentes étapes permettant d’arriver au résultat.
L’instruction spécifique commençant par return permet de retourner la valeur de sortie de la fonction.
Si cette ligne n’est pas présente, la valeur de sortie sera None (pas de sortie). Cela peut être le cas pour
une fonction dont le but est simplement de faire un affichage.

Voici un exemple :
def table7( ):
n=1
while n <11 :
print(n * 7, end =' ')
n = n +1
En entrant ces quelques lignes, nous avons défini une fonction très simple qui calcule et affiche les 10
premiers termes de la table de multiplication par 7. Notez bien les parenthèses, le double point, et
l’indentation du bloc d’instructions qui suit la ligne d’en-tete (c’est ce bloc d’instructions qui
constitue le corps de la fonction proprement dite).

Pour utiliser la fonction que nous venons de définir, il suffit de l’appeler par son nom. Ainsi :
>>> table7()

provoque l’affichage de :

Si on veut savoir ce que calcule cette fonction, on peut rajouter la ligne help(table7).

A .Fonction avec paramètre


Dans nos derniers exemples, nous avons défini et utilise une fonction qui affiche les termes de la table
de multiplication par 7. Supposons à présent que nous voulions faire de même avec la table par 9.
Nous pouvons bien entendu réécrire entièrement une nouvelle fonction pour cela. Mais si nous nous
intéressons plus tard à la table par 13, il nous faudra encore recommencer. Ne serait-il donc pas plus
intéressant de définir une fonction qui soit capable d’afficher n’importe quelle table, à la demande ?

Dans la définition d’une telle fonction, il faut prévoir une variable particulière pour recevoir
l’argument transmis. Cette variable particulière s’appelle un paramètre.

Chaque argument de la définition de la fonction correspond, dans l’ordre, à un paramètre de l’appel.


La correspondance se fait par affectation.

Voici ce que cela donne dans le cas qui nous intéresse :

def table(base):
n=1
while n <11 :
print(n * base, end =' ')
n = n +1
La fonction table() telle que définie ci-dessus utilise le paramètre base pour calculer les dix premiers
termes de la table de multiplication correspondante.
Pour tester cette nouvelle fonction, il nous suffit de l’appeler avec un argument.

Exemples :

>>> table(13)
13 26 39 52 65 78 91 104 117 130
>>> table(9)
9 18 27 36 45 54 63 72 81 90

B .Fonction avec plusieurs paramètres


La fonction table() est certainement intéressante, mais elle n’affiche toujours que les dix premiers
termes de la table de multiplication, alors que nous pourrions souhaiter qu’elle en affiche d’autres..
Nous allons l’améliorer en lui ajoutant des paramètres supplémentaires, dans une nouvelle version que
nous appellerons cette fois tableMulti() :
def tableMulti(base, debut, fin):
... print('Fragment de la table de multiplication par', base, ':')
... n = debut
... while n <= fin :
... print(n, 'x', base, '=', n * base)
... n = n +1
Cette nouvelle fonction utilise donc trois paramètres : la base de la table comme dans l’exemple
précédent, l’indice du premier terme à afficher, l’indice du dernier terme à afficher.
Essayons cette fonction en entrant par exemple :
>>> tableMulti(8, 13, 17)
ce qui devrait provoquer l’affichage de :

Fragment de la table de multiplication par 8 :


13 x 8 = 104
14 x 8 = 112
15 x 8 = 120
16 x 8 = 128
17 x 8 = 136

C .Variables locales, variables globales


Lorsque nous définissons des variables a l’intérieur du corps d’une fonction, ces variables ne sont
accessibles qu’a la fonction elle-même. On dit que ces variables sont des variables locales à la
fonction.
C’est par exemple le cas des variables base, debut, fin et n dans l’exercice précèdent. Chaque fois que
la fonction tableMulti() est appelée, Python réserve pour elle (dans la mémoire de l’ordinateur) un
nouvel espace de noms. Les contenus des variables base, debut, fin et n sont stockes dans cet espace
de noms qui est inaccessible depuis l’extérieur de la fonction. Ainsi par exemple, si nous essayons
d’afficher le contenu de la variable base juste après avoir effectué l’exercice ci-dessus, nous obtenons
un message d’erreur.

D .Un ou plusieurs paramètres, utilisation du retour


from math import pi
def cube(x) :
return x**3
def volumeSphere(r ) :
return 4.0 * pi * cube (r ) / 3.0
# Saisie du rayon et affichage du volume
rayon = input(« Le rayon de la sphere : »))
print (« Volume de la sphere = »,volumeSphere(rayon))

E . Fonction récursive
Une fonction peut s'appeler elle-même. Une telle fonction est appelée fonction récursive.

Exemple :

def factorielle(N):
if N > 0:
return N*factorielle(N - 1)
else :
return 1
Elle est typiquement utilisée lorsqu'une expression dans la fonction nécessite un résultat qui peut être
produit par un appel à la fonction elle-même.

Il est important dans ce genre de fonctions de s'assurer qu'il y a une condition permettant de stopper
les appels récursifs, sinon on peut entrer dans une répétition sans fin (de la même façon qu'on peut
avoir des boucles while sans fin).

2. Modules
Les modules sont des programmes Python qui contiennent des fonctions que l’on est amené à réutiliser
souvent (on les appelle aussi bibliothèques ou libraries). Les développeurs de Python ont mis au point
de nombreux modules qui effectuent une quantité phénoménale de tâches.

1. Utilisation d’un module

Pour utiliser une fonction fonct d’un module mod, il faut importer cette fonction, ou le module entier
avant l’utilisation de cette fonction. Cela peut se faire de 3 manières :

• Import simple du module

L’utilisation de préfixes permet d’utiliser des fonctions ayant éventuellement même nom et se situant
dans des modules différents. Certains noms de module sont longs, ou seront utilisés très souvent. On
peut, au moment de l’import du module, créer un alias, qui permettra d’appeler les fonctions de ce
module en donnant comme préfixe l’alias au lieu du nom complet :

Un alias d’usage très courant est :


• Import d’une fonction d’un module

Attention, si une fonction du même nom existe auparavant (de base dans Python, ou importée
précédemment), elle sera écrasée.

2. Le module math

Ce module contient les fonctions et constantes mathématiques usuelles, dont nous citons les plus utiles
(utiliser help() pour avoir la liste de toutes les fonctions du module)

La liste des fonctions Python existantes est disponible en ligne :


[Link]

Vous aimerez peut-être aussi