En bref
- Apprendre à créer et utiliser des fonctions pour organiser et réutiliser votre code Python
Dans ce septième épisode de la série “Python pour les débutants”, nous découvrons les fonctions qui permettent d’organiser votre code, de le réutiliser et de le rendre plus modulaire et maintenable.
Qu’est-ce qu’une fonction ?#
Créer une fonction simple#
def dire_bonjour(): print("Bonjour !")
# Appeler la fonctiondire_bonjour()Fonctions avec paramètres#
Les paramètres permettent de passer des données à votre fonction :
def dire_bonjour(nom): print(f"Bonjour {nom} !")
# Appeler avec différents nomsdire_bonjour("Alice")dire_bonjour("Bob")Plusieurs paramètres#
def calculer_somme(a, b): resultat = a + b print(f"{a} + {b} = {resultat}")
calculer_somme(5, 3)calculer_somme(10, 7)Fonctions avec valeur de retour#
Utilisez return pour renvoyer une valeur :
def calculer_somme(a, b): return a + b
resultat = calculer_somme(5, 3)print(f"Le résultat est : {resultat}")Exemple avec calcul d’aire#
def calculer_aire_rectangle(longueur, largeur): return longueur * largeur
aire = calculer_aire_rectangle(5, 3)print(f"L'aire du rectangle est : {aire}")Paramètres par défaut#
Vous pouvez donner des valeurs par défaut aux paramètres :
def saluer(nom, message="Bonjour"): print(f"{message} {nom} !")
# Utilisation avec valeur par défautsaluer("Alice") # Affiche : Bonjour Alice !
# Utilisation avec message personnalisésaluer("Bob", "Salut") # Affiche : Salut Bob !Fonctions avec plusieurs valeurs de retour#
def calculer_stats(nombres): somme = sum(nombres) moyenne = somme / len(nombres) maximum = max(nombres) minimum = min(nombres)
return somme, moyenne, maximum, minimum
nombres = [1, 5, 3, 9, 2]somme, moyenne, max_val, min_val = calculer_stats(nombres)
print(f"Somme : {somme}")print(f"Moyenne : {moyenne}")print(f"Maximum : {max_val}")print(f"Minimum : {min_val}")Portée des variables#
Les variables dans une fonction sont locales :
def ma_fonction(): variable_locale = "Je suis locale" print(variable_locale)
ma_fonction()# print(variable_locale) # Erreur ! Variable non définieVariables global#
variable_globale = "Je suis globale"
def ma_fonction(): global variable_globale variable_globale = "Modifiée dans la fonction" print(variable_globale)
ma_fonction()print(variable_globale)Exemples pratiques#
Calculatrice simple#
def calculatrice(operation, a, b): if operation == "+": return a + b elif operation == "-": return a - b elif operation == "*": return a * b elif operation == "/": if b != 0: return a / b else: return "Erreur : Division par zéro" else: return "Opération non supportée"
# Utilisationresultat = calculatrice("+", 10, 5)print(f"10 + 5 = {resultat}")
resultat = calculatrice("*", 4, 7)print(f"4 * 7 = {resultat}")Vérificateur de mot de passe#
def verifier_mot_de_passe(mot_de_passe): if len(mot_de_passe) < 8: return False, "Le mot de passe doit contenir au moins 8 caractères"
if not any(c.isupper() for c in mot_de_passe): return False, "Le mot de passe doit contenir une majuscule"
if not any(c.islower() for c in mot_de_passe): return False, "Le mot de passe doit contenir une minuscule"
if not any(c.isdigit() for c in mot_de_passe): return False, "Le mot de passe doit contenir un chiffre"
return True, "Mot de passe valide"
# Testmot_de_passe = "MonMotDePasse123"valide, message = verifier_mot_de_passe(mot_de_passe)print(message)Générateur de mots de passe#
import randomimport string
def generer_mot_de_passe(longueur=12): caracteres = string.ascii_letters + string.digits + "!@#$%^&*" mot_de_passe = ''.join(random.choice(caracteres) for _ in range(longueur)) return mot_de_passe
# Générer des mots de passemot_de_passe1 = generer_mot_de_passe()mot_de_passe2 = generer_mot_de_passe(16)
print(f"Mot de passe 1 : {mot_de_passe1}")print(f"Mot de passe 2 : {mot_de_passe2}")Bonnes pratiques#
Conclusion#
Les fonctions sont essentielles pour :
- Organiser votre code en blocs logiques
- Réutiliser du code sans le dupliquer
- Faciliter la maintenance et les modifications
- Créer des programmes modulaires
Dans le prochain épisode, nous découvrirons les listes et les dictionnaires pour stocker et manipuler des données !