Atelier Python3
Atelier Python3
Atelier Python3
Programmation modulaire
Plan
1. Les fonctions
2. Les modules
Définition des fonctions
Définition et appel d'une fonction
Définition
Appel
Appel des fonctions
Exemple
Valeur par défaut
Fonctions avec paramètres par défaut
Lorsqu’une fonction est souvent appelée avec les mêmes valeurs pour ses paramètres, il
est possible de spécifier pour ceux-ci une valeur par défaut.
N.B: si une valeur par défaut est spécifiée pour un paramètre, alors tous ceux qui suivent
devront eux aussi avoir une valeur par défaut (on ne peut pas avoir des paramètres
positionnels après des paramètres nommés).
Lors d’un appel à une fonction, on peut ne pas respecter l’ordre de définition des paramètres.
Fonction renvoyant plusieurs valeurs (1/2)
Fonction renvoyant plusieurs valeurs (2/2)
Passage des arguments
Le passage des types primitifs ou des structures immutables (tuples,
ensembles, chaines de caractères) s'apparente à un passage par valeur.
• Une variable locale est une variable dont la portée est réduite à une fonction.
• Une variable globale est une variable dont la portée est l’ensemble du
programme.
• Pour accéder à une variable globale dans une fonction, il faut la précéder par
le mot global. A défaut, elle sera considérée comme étant une variable locale.
14
Portée des variables (2/2)
Imbrication des fonctions
Exercices
• Écrire une fonction parler_enthousiasme qui prend un argument positionnel
obligatoire (un message) et deux arguments optionnels nommés, le premier étant
un entier se référant au nombre de points d'exclamation à mettre à la fin du
message (par défaut à 1), et le second étant un booléen indiquant s'il faut ou non
mettre le message en majuscule (par défaut à False).
Le site *args et **kwargs est une idiome commune pour permettre un nombre arbitraire d'arguments aux
fonctions :
Les paramètres positionnels doivent figurer dans l’appel de la fonction avant les paramètres
nommés.
Exercice
Ecrire une fonction Ouvrage permettant d'afficher les différentes
informations inhérentes à un ouvrage sachant que seul le titre est
obligatoire. Un ouvrage peut avoir un nombre variable d'auteurs et un
utilisateur peut donner un certain nombre d'informtions supplémentaires
telles que année de parution, maison d'édition, volume, nombre de pages...
La fonction lambda
Lorsque le code d’une fonction tient en une ligne et le résultat est une
expression, il est possible de condenser son écriture à l’aide du mot-
clé lambda.
Appliquer un même traitement à tous les
éléments d'une séquence
Pour utiliser les éléments du module dans notre script, il faudra préfixer le nom de ces
éléments par le nom du module et un point.
Notez aussi que si du code Python se trouve en dehors de toute fonction dans
le module, il sera exécuté à son chargement. Pour éviter que cela se produise, il
faut “protéger” le code avec :
Gérer les packages
pip est un outil de gestion des packages Python. Il permet d’installer
des packages, de les mettre à jours, et bien d’autres choses.
Exercice
• Ecrire un module nommé « tva.py ». Dans ce module, implémenter trois
fonctions pour calculer le nouveau prix après application d’une taxe comme
suit :
• Fonction pttc_reduit retourne le nouveau prix après application d’une taxe de 10%
• Fonction pttc_normal retourne le nouveau prix après application d’une taxe de 20%
• Fonction pttc_alimentaire retourne le nouveau prix après application d’une taxe de
5.5%