Fonctions, modules et
bibliothèques
ALKAMA Narima
alkamanarima@[Link]
Plan du module
[Link]
[Link] fonctions
[Link] lambda, map(), filter(), reduce()
[Link] modules
[Link] bibliothèques
Rappel
Structure de contrôle if Structure de contrôle while
True
Test expression 1 Code de if
condition ==
False True
True Boucle Oui Non
Test expression 2 Code de elif
Exécuter code de
la boucle
False
Code de else
Exécuter le code
après while
Exécuter le code après
if
N. ALKAMA 01
Rappel
Structure de données
Type Liste Tuple Ensemble Dictionnaire
Indexé Oui Oui Non Non
Ordonné Oui Oui Non Oui
Modifiable Oui Non Non Oui
Doublons Oui Oui Non Non (pour les clés)
Syntaxe [1,2,3] (1,2,3) {1,2,3} {'clé': 'valeur'}
Stocker des éléments Stocker des éléments Collection unique, non Stocker des paires
Utilisation
modifiables immuables ordonnée clé-valeur
N. ALKAMA 02
Les fonctions
Dans la vie réelle, une fonction représente une action comme manger, ou courir.
En programmation, une fonction est un bloc de code réutilisable qui permet
d'exécuter une tâche spécifique. Les fonctions aident à structurer le code, à éviter les
répétitions et à améliorer la lisibilité.
En Python, une fonction est définie à l'aide du mot-clé def, suivi du nom de la
fonction, d'une paire de parenthèses (avec ou sans paramètres), et d'un bloc indenté
contenant le corps de la fonction.
Le code à l'intérieur d'une fonction est exécuté uniquement lorsque la fonction est
appelée, en utilisant son nom et en fournissant les arguments nécessaires.
N. ALKAMA 03
Les fonctions
Types de Fonctions
1. Fonctions sans paramètres : Ces fonctions n'ont
pas besoin d'arguments lors de leur appel.
2. Fonctions avec paramètres : Elles prennent des
arguments pour personnaliser leur
comportement.
3. Fonctions avec valeur de retour : Une fonction
peut retourner une valeur à l'aide du mot-clé
return.
4. Fonctions avec paramètres par défaut: Si aucun
argument n'est fourni, le paramètre prend sa
valeur par défaut.
N. ALKAMA 04
Les fonctions
Les variables dans une fonction :
Variable globale : Une variable déclarée en dehors d'une fonction, accessible partout
dans le programme. Et peut être utilisée dans n'importe quelle fonction du programme.
Variable locale : Une variable déclarée à l'intérieur d'une fonction, accessible
uniquement à l'intérieur de cette fonction.
N. ALKAMA 05
Les fonctions
Différences entre fonctions et méthodes :
Fonction : Un bloc de code indépendant, qui peut être utilisé pour effectuer une tâche
spécifique.
Méthode : Fonction qui est spécifique à un type de données ou à un objet.
N. ALKAMA 06
Les fonctions
Les Fonctions Intégrées (Built-in Functions)
Les fonctions intégrées peuvent être regroupées selon leur utilisation :
Manipulation des données : len(), sum(), max(), min().
Conversion de types : int(), float(), str(), list(), tuple(), set(), dict().
Entrée/Sortie : input(), print().
Evaluation : eval(), exec(), compile().
Traitement des itérables : enumerate(), map(), filter(), zip(), reversed(), sorted().
Autres : abs(), round(), id(), type(), isinstance().
N. ALKAMA 07
Les fonctions
Exercice d’application :
Écrire une fonction qui retourne le carré de x donné comme argument.
Écrire une fonction qui retourne la factorielle de x donné comme argument.
Écrire une fonction qui demande à l’utilisateur d’entrer 5 nombres et les ajoute à
une liste puis calculez et affichez la moyenne de ces nombres.
Écrire une fonction qui vérifie si un nombre donné est un nombre premier. Un
nombre premier est un nombre qui ne peut être divisé que par 1 et par lui-même.
Exemples: 2, 3, 5, 7, 11, 13, 17, 19, 23.
Écrire un programme pour afficher tous les nombres premiers dans l'intervalle de 1
à 50.
N. ALKAMA 08
Fonctions lambda, map(), et filter()
[Link] lambda :
Une fonction lambda est une fonction anonyme, c’est-à-dire une fonction sans nom, qui
peut être définie rapidement pour de petites opérations.
Syntaxe : lambda arguments: expression
N. ALKAMA 09
Fonctions lambda, map(), et filter()
[Link] fonction map() :
La fonction map() applique une fonction donnée à tous les éléments d'une
séquence (liste, tuple, etc.) et renvoie un objet map (itérable) avec les résultats.
Syntaxe : map (function, iterable)
N. ALKAMA 10
Fonctions lambda, map(), et filter()
[Link] fonction filter() :
Cette fonction filtre une séquence en fonction d'une condition donnée (fonction),
et renvoie un itérable contenant les éléments qui satisfont cette condition.
Syntaxe : filter (function, iterable)
N. ALKAMA 11
Les modules
1. Qu'est-ce qu'un module ?
Un module en Python est un fichier contenant du code Python (fichier .py) qui peut
inclure des fonctions, des classes, des variables et d'autres objets. Les modules
permettent de réutiliser du code et d'organiser les programmes de manière
modulaire.
[Link] utiliser des modules ?
Réutilisation du code : Éviter de réécrire le même code dans plusieurs programmes.
Organisation : Structurer le code en sections logiques et faciles à gérer.
Maintenance : Faciliter la mise à jour et le débogage du code.
N. ALKAMA 12
Les modules
[Link] de Modules
a) Modules Intégrés (Built-in Modules)
Les modules intégrés sont des modules pré-définis inclus dans la bibliothèque
standard de Python. Ils sont prêts à l'emploi sans nécessiter d'installation
supplémentaire.
Exemples de modules intégrés :
random : Génération de nombres aléatoires.
datetime : Manipulation des dates et des heures.
sys : Interaction avec le système d'exploitation.
math : Fonctions mathématiques avancées.
os : Interaction avec le système de fichiers et les processus.
N. ALKAMA 13
Les modules
[Link] de Modules
b) Modules Définis par l'Utilisateur (User-defined Modules)
Les modules définis par l'utilisateur sont des modules créés par les développeurs
pour organiser et réutiliser leur propre code dans différents projets.
N. ALKAMA 14
Les modules
[Link] et Utiliser des Modules
Pour utiliser un module dans notre programme, on utilise le mot-clé import.
On peut utiliser différentes manières d'importer des modules en Python.
Méthode d'importation Syntaxe Exemple
Importation d'un module entier Import module_name import math [Link](16) → 4.0
Importation d'un module avec un alias Import module_name as alias_name import datetime as dt [Link]()
Importation de fonctions, classes ou from module_name inport var_name, from math import sqrt
variables spécifiques func_name →
sqrt(16) 4.0
Importation avec alias d'une fonction, from module_name Import var_name as from math Import sqrt as racine
classe ou variable alias_name racine (16)→4.0
Importation de toutes les fonctions et from math import *
classes d'un module
from nodule_name import *
→
sqrt(16) 4.0
N. ALKAMA 15
Les modules
[Link] et Utiliser des Modules
Exemples
N. ALKAMA 16
Les modules
Exercice d’application :
Écrivez un programme pour que l'ordinateur sélectionne aléatoirement un nombre
entre 1 et 100, puis demande au joueur de deviner ce nombre.
Le programme doit donner des indices si le nombre deviné est trop élevé ou
trop bas.
Implémentez une fonctionnalité qui limite le nombre de tentatives autorisées
pour le joueur. Si le joueur utilise toutes ses tentatives, le jeu doit se terminer et
afficher le nombre correct.
N. ALKAMA 17
Les modules
Exercice d’application :
Un site web demande aux utilisateurs de saisir un nom d’utilisateur et un mot de
passe pour s'inscrire.
Écrivez un programme qui vérifie la validité du mot de passe saisi par les
utilisateurs. Les critères de vérification du mot de passe sont les suivants :
1. Longueur minimale du mot de passe : 6 caractères
2. Longueur maximale du mot de passe : 12 caractères
3. Au moins une lettre en minuscule entre [a-z]
4. Au moins une chiffre entre [0-9]
5. Au moins une lettre en majuscule entre [A-Z]
6. Au moins un caractère parmi les suivants : [$#@]
Vous pouvez utiliser le module re.
N. ALKAMA 18
Les bibliothèques
Qu'est-ce qu'une bibliothèque en Python ?
Une bibliothèque Python est un ensemble de modules contenant des fonctions et
des classes prêtes à l'emploi. Ces bibliothèques sont souvent créées pour
accomplir des tâches spécifiques ou pour manipuler des données dans un certain
domaine (par exemple, manipulation de fichiers, traitement des données,
création de graphiques, etc.).
Installation : La plupart des bibliothèques Python ne sont pas installées par
défaut, vous devez donc les installer en utilisant pip :
Pip install nom_bibliotheque
N. ALKAMA 19
Les bibliothèques
Elles sont essentielles à l'écosystème Python et permettent d'accéder à des outils
spécialisés pour presque toutes les tâches, telles que la science des données, le
développement web ou l'automatisation.
Les bibliothèques standard (intégrées) sont des bibliothèques incluses avec
l'installation de Python, donc elles ne nécessitent aucune installation
supplémentaire. Elles couvrent des fonctionnalités courantes comme les
manipulations de fichiers, les calculs mathématiques, la gestion des dates, etc.
Exemples : os, sys, datetime, math, Tkinter, random.
N. ALKAMA 20
Les bibliothèques
Les bibiliothèques externes sont téléchargeables depuis PyPI et installées via pip.
Après installation, vous pouvez importer et utiliser la bibliothèque comme
n'importe quel autre module.
PyPI (Python Package Index) est le dépôt officiel qui regroupe des milliers de
bibliothèques tierces et gratuites développées par la communauté Python.
Exemples de Bibliothèques Populaires sur PyPI :
NumPy : Calculs mathématiques et algèbre linéaire.
Pandas : Manipulation et analyse de données.
Matplotlib : Visualisation de données.
Flask : Développement d'applications web légères.
Django : Framework web complet.
N. ALKAMA 21
Test du Module 3
Énoncé du test: Développez une application Python sur la console, organisée de
manière modulaire ([Link] + [Link]), permettant à l'utilisateur d'exécuter
plusieurs tâches utilitaires sur du texte.
[Link] : programme principal avec un menu interactif,
[Link] : contient toutes les fonctions réutilisables.
Fonctionnalités attendues :
a. Traduction de texte
i. L'utilisateur saisit un texte à traduire.
ii. Il saisit également la langue cible (par exemple : "en" pour anglais, "fr" pour
français, "ar" pour arabe, etc.).
iii. Le programme affiche le texte traduit.
iv. Utilisez le module googletrans.
N. ALKAMA 22
Test du Module 3
[Link] texte en parole (Text-to-Speech)
i. L'utilisateur saisit un texte.
ii. Le texte est lu à voix haute par l’ordinateur.
iii. Utilisez un module comme pyttsx3 (hors ligne) ou gTTS (en ligne).
[Link] la casse du texte
i. L'utilisateur choisit entre :
tout en majuscules
tout en minuscules
capitaliser la première lettre
ii. Le texte modifié est affiché.
N. ALKAMA 23
Test du Module 3
[Link] les mots et lettres
i. L'utilisateur entre un texte.
ii. Le programme affiche :
le nombre de mots,
le nombre de lettres (hors espaces).
Le menu doit s’exécuter en boucle jusqu’à ce que l’utilisateur choisisse de quitter.
Chaque action doit être gérée dans une fonction définie dans [Link].
Le fichier [Link] ne contient que le menu et les appels aux fonctions.
N. ALKAMA 24
“ Learning to code is a journey. Be patient with yourself
and stay persistent, even when things get tough. “
- Mosh