Définitions
Fonction = Bloc réutilisable de code
Encapsulation d'un ensemble d'instructions
Fonction :
Ensemble d'instructions
Paramètres d'entrée
Valeur(s) de retour
Réutilisable plusieurs fois
Paramètres d'entrée
Valeur(s) de retour
Réutilisable plusieurs fois
Modularité :
Découpage en modules
Indépendance des parties
Maintenance facilitée
Lisibilité améliorée
Indépendance des parties
Maintenance facilitée
Lisibilité améliorée
Structure d'une fonction
Nom : identifie la fonction
Paramètres : données en entrée
Corps : instructions exécutées
Retour : résultat de la fonction
Exemples de fonctions
def carre(nombre):
"""Calcule le carré d'un nombre"""
resultat = nombre * nombre
return resultat
def est_pair(nombre):
"""Vérifie si un nombre est pair"""
return nombre % 2 == 0
# Appel de fonction
x = carre(5) # x = 25
y = est_pair(4) # y = True
Réutilisabilité : appel multiple
Testabilité : facile à tester
Documentation : commentaires clairs
Maintenance : modification ciblée
Portée des variables
Locale : dans la fonction
Globale : accessible partout
Préférer les variables locales
Avantages de la modularité
Découpage du problème en sous-problèmes
Réutilisation du code existant
Tests unitaires facilités
Travail collaboratif possible
Maintenance et évolution simplifiées
Erreurs Fréquentes
Erreur 1 :
Fonctions trop longues et complexes
Erreur 2 :
Utilisation excessive de variables globales
Erreur 3 :
Noms de fonctions peu descriptifs
Erreur 4 :
Oubli de la documentation des fonctions
Bonnes pratiques
Création de fonctions :
Une seule responsabilité par fonction
Noms clairs et descriptifs
Documentation systématique
Noms clairs et descriptifs
Documentation systématique
Organisation du code :
Modules logiques
Regroupement par thème
Respect des conventions
Regroupement par thème
Respect des conventions