Lenaick Sorimoutou

Ressources

python-101 leçon 07 / 10

Fonctions en Python

En bref

  • Apprendre à créer et utiliser des fonctions pour organiser et réutiliser votre code Python
Leçon
07 / 10
Temps de lecture
4 min

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#

Fonction simple sans paramètres
def dire_bonjour():
print("Bonjour !")
# Appeler la fonction
dire_bonjour()

Fonctions avec paramètres#

Les paramètres permettent de passer des données à votre fonction :

Fonction avec un paramètre
def dire_bonjour(nom):
print(f"Bonjour {nom} !")
# Appeler avec différents noms
dire_bonjour("Alice")
dire_bonjour("Bob")

Plusieurs paramètres#

Fonction avec 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 :

Fonction avec return
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#

Calcul de l'aire d'un rectangle
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 :

Paramètres avec valeurs par défaut
def saluer(nom, message="Bonjour"):
print(f"{message} {nom} !")
# Utilisation avec valeur par défaut
saluer("Alice") # Affiche : Bonjour Alice !
# Utilisation avec message personnalisé
saluer("Bob", "Salut") # Affiche : Salut Bob !

Fonctions avec plusieurs valeurs de retour#

Retour de plusieurs valeurs
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 :

Variables locales
def ma_fonction():
variable_locale = "Je suis locale"
print(variable_locale)
ma_fonction()
# print(variable_locale) # Erreur ! Variable non définie

Variables global#

Variables globales
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#

Fonction calculatrice
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"
# Utilisation
resultat = calculatrice("+", 10, 5)
print(f"10 + 5 = {resultat}")
resultat = calculatrice("*", 4, 7)
print(f"4 * 7 = {resultat}")

Vérificateur de mot de passe#

Vérificateur de mot de passe robuste
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"
# Test
mot_de_passe = "MonMotDePasse123"
valide, message = verifier_mot_de_passe(mot_de_passe)
print(message)

Générateur de mots de passe#

Générateur de mots de passe aléatoires
import random
import 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 passe
mot_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 !

lecture

0 % ≈ 4 min restantes