Fonctions en Python

Publié le 29 mai 2026 à 18:15
Chapitre V-3 - Fonctions en Python | Révision Bac Mathématiques
1

Définir une fonction : def

Une fonction est un bloc de code réutilisable qui effectue une tâche précise. Elle peut prendre des arguments en entrée et renvoyer un résultat à l'aide du mot-clé return.

Syntaxe générale :
def nom_de_la_fonction(parametres):
    """documentation facultative (docstring)"""
    # instructions
    return valeur   # optionnel
L'indentation délimite le corps de la fonction. Le return renvoie immédiatement une valeur et termine l'exécution de la fonction. Si aucun return n'est présent, la fonction renvoie None.
Exemple minimal : fonction qui renvoie le carré d'un nombre.
def carre(x):
    return x**2

print(carre(5))   # 25
Méthode : On définit une fonction dès qu'un même calcul doit être utilisé plusieurs fois, ou pour organiser un programme complexe. Le nom de la fonction doit être explicite.
2

Paramètres et valeurs de retour

Passage de paramètres

Une fonction peut avoir zéro, un ou plusieurs paramètres. Lors de l'appel, on fournit des arguments (valeurs) qui sont copiés dans les paramètres.

Fonction à plusieurs paramètres :
def aire_rectangle(longueur, largeur):
    return longueur * largeur

print(aire_rectangle(5, 3))   # 15

L'instruction return

return permet de renvoyer une valeur. On peut placer plusieurs return dans une même fonction (par exemple à l'intérieur de conditions). Dès qu'un return est atteint, la fonction s'arrête.

Exemple avec conditions : fonction valeur absolue.
def valeur_absolue(x):
    if x >= 0:
        return x
    else:
        return -x
⚠️ Distinction affichage / retour : print affiche à l'écran mais ne renvoie rien (None). return renvoie une valeur utilisable dans un calcul ou une variable.
3

Portée des variables (locale / globale)

La notion de portée détermine où une variable est accessible.

Variable locale : Une variable définie à l'intérieur d'une fonction (y compris les paramètres) n'existe que dans cette fonction. Elle n'est pas accessible de l'extérieur. On dit qu'elle est locale.
Variable globale : Une variable définie en dehors de toute fonction est globale : elle est visible partout, mais une fonction ne peut pas la modifier directement (sauf déclaration explicite avec global, à éviter en général).
Exemple de portée :
x = 10          # variable globale

def modifie():
    x = 5       # variable locale, masque la globale
    print("dans la fonction:", x)

modifie()        # affiche 5
print("hors fonction:", x)   # affiche 10
Bonne pratique : On utilise principalement des variables locales et on communique les résultats via return. Cela évite les effets de bord et rend le code plus lisible.
4

Applications aux mathématiques

Les fonctions Python sont parfaitement adaptées pour implémenter des formules mathématiques. Voici quelques exemples classiques du programme de Première.

Polynôme du second degré

Fonction discriminant et racines :
def second_degre(a, b, c):
    delta = b**2 - 4*a*c
    if delta < 0:
        return None
    elif delta == 0:
        return -b / (2*a)
    else:
        x1 = (-b - delta**0.5) / (2*a)
        x2 = (-b + delta**0.5) / (2*a)
        return (x1, x2)

print(second_degre(1, -3, 2))   # (1.0, 2.0)
print(second_degre(1, 1, 1))    # None

Somme des termes d'une suite arithmétique

Calcul de la somme des entiers de 1 à n :
def somme_entiers(n):
    return n * (n + 1) // 2

print(somme_entiers(100))   # 5050

Suite géométrique : somme des premiers termes

Somme des puissances de q :
def somme_geo(u0, q, n):
    """somme de u0 + u0*q + ... + u0*q**(n-1)"""
    if q == 1:
        return n * u0
    else:
        return u0 * (1 - q**n) / (1 - q)
Conseil : Lorsqu'on écrit une fonction mathématique, on peut ajouter une docstring pour expliquer ce qu'elle fait, et on teste toujours avec des valeurs dont on connaît le résultat.
5

Exercices corrigés

Exercice 1 – Factorielle

Écrire une fonction factorielle(n) qui calcule $n! = 1 \times 2 \times \dots \times n$ (pour $n \ge 0$, avec $0! = 1$).

Solution :

def factorielle(n):
    resultat = 1
    for i in range(2, n+1):
        resultat *= i
    return resultat

print(factorielle(5))   # 120

Exercice 2 – Fonction booléenne : année bissextile

Écrire une fonction est_bissextile(annee) qui renvoie True si l'année est bissextile, False sinon.

Solution :

def est_bissextile(annee):
    if annee % 400 == 0:
        return True
    if annee % 100 == 0:
        return False
    if annee % 4 == 0:
        return True
    return False

Exercice 3 – Calcul du $n$-ème terme d'une suite récurrente

On définit $u_{n+1} = 0.5 u_n + 2$ avec $u_0 = 10$. Écrire une fonction terme(n) qui renvoie $u_n$.

Solution :

def terme(n):
    u = 10
    for _ in range(n):
        u = 0.5 * u + 2
    return u

print(terme(5))   # u_5

Exercice 4 – Fonction de conversion (radians/degrés)

Écrire une fonction rad(deg) qui convertit un angle en degrés en radians, et une fonction deg(rad) qui fait l'inverse.

Solution :

from math import pi

def rad(deg):
    return deg * pi / 180

def deg(rad):
    return rad * 180 / pi

© 2026 – Cours de spécialité Mathématiques Première • Préparation au Bac

Ce cours est conforme au programme officiel en vigueur.