Les fonctions
1. Qu'est-ce qu'une fonction ?
Une fonction est un bloc de code réutilisable qui effectue une tâche spécifique.- Stocker une séquence d'instructions.
- L'exécuter à la demande en utilisant son nom.
- Permettre la réutilisation du code sans le recopier.
- Rendre le code plus lisible et plus facile à déboguer.
- Les fonctions intégrées (built-in) : déjà existantes en Python, que vous utilisez directement (ex:
print(),type(),int(),input()). - Les fonctions définies par l'utilisateur : celles que vous créez vous-même.
2. Définir une fonction (Déclaration)
Pour créer une fonction, on utilise le mot-clédef (pour definition).A. La syntaxe
La définition d'une fonction se fait en trois parties :- Le mot-clé
def. - Le nom de la fonction (suivi de parenthèses
()). - Le symbole deux-points
:. - Le corps de la fonction indenté.
def nom_de_ma_fonction():
# Instructions à exécuter
print("Code de la fonction en cours d'exécution.")
# On utilise l'indentation (4 espaces) comme pour les conditions
B. Appeler (ou Exécuter) la fonction
Définir une fonction ne fait rien. Pour que le code s'exécute, il faut appeler la fonction par son nom.
Exemple Python
x
# 1. Définition de la fonctiondef saluer(): print("Bonjour la Première NSI !")# 2. Appel de la fonctionsaluer() # Affiche : "Bonjour la Première NSI !"# On peut l'appeler autant de fois que nécessairesaluer() # Affiche : "Bonjour la Première NSI !"Bonjour la Première NSI !
Bonjour la Première NSI !
3. Les Paramètres (Arguments)
Une fonction devient vraiment puissante lorsqu'elle peut accepter des données en entrée. Ces données sont appelées paramètres (ou arguments lors de l'appel). Les paramètres sont des variables locales définies entre les parenthèses de la fonction.A. Syntaxe avec paramètres
Exemple Python
xxxxxxxxxx10
# 'prenom' est le paramètredef saluer_personne(prenom): print("Bonjour, " + prenom + " ! Comment vas-tu ?")# 1. Appel avec l'argument "Alice"saluer_personne("Alice") # Affiche : "Bonjour, Alice ! Comment vas-tu ?"# 2. Appel avec l'argument "Bob"etudiant = "Bob"saluer_personne(etudiant) # Affiche : "Bonjour, Bob ! Comment vas-tu ?"B. Fonctions à plusieurs paramètres
Une fonction peut prendre plusieurs arguments, séparés par des virgules.
Exemple Python
xxxxxxxxxx5
def calculer_somme(a, b): resultat = a + b print("La somme de", a, "et", b, "est :", resultat)calculer_somme(10, 5) # Affiche : La somme de 10 et 5 est : 154. La Valeur de Retour (return)
Jusqu'à présent, nos fonctions affichaient un résultat (avec print()), mais ne le renvoyaient pas au reste du programme.
Le mot-clé return permet à la fonction de renvoyer une valeur à l'endroit où elle a été appelée. C'est le résultat utilisable de la fonction.
A. Fonction avec return
Exemple Python
xxxxxxxxxx13
# Cette fonction CALCULE et renvoie un résultatdef carre(nombre): resultat_carre = nombre * nombre return resultat_carre # Le programme sort de la fonction ici# L'appel de la fonction renvoie la valeur, que l'on peut stockermon_resultat = carre(7) print("Le carré de 7 est :", mon_resultat) # Affiche : Le carré de 7 est : 49# On peut utiliser le résultat directement dans d'autres opérationsdouble_du_carre = carre(3) * 2 # carre(3) renvoie 9. 9 * 2 = 18print(double_du_carre) # Affiche : 18B. Distinction print() vs return (Très important)
| Caractéristique | print() |
return |
|---|---|---|
| Objectif | Afficher une information à l'utilisateur. | Fournir un résultat (une valeur) pour qu'il soit utilisé par d'autres parties du code. |
| Flux du programme | Le programme continue après le print(). |
Le programme s'arrête et quitte la fonction, renvoyant la valeur. |
| Sortie | Du texte est affiché dans la console. | Une valeur (type int, str, float, etc.) est renvoyée et peut être stockée dans une variable. |
5. La Portée des Variables (Scope)
En NSI, il est crucial de comprendre la portée (ou scope) d'une variable.A. Variables Locales
Une variable définie à l'intérieur d'une fonction est une variable locale. Elle n'existe et n'est accessible que dans cette fonction.
Exemple Python
xxxxxxxxxx10
def calculer_aire(longueur, largeur): # 'aire' est une variable locale aire = longueur * largeur return aire# Le code fonctionne :resultat = calculer_aire(4, 5) # resultat vaut 20# Le code génère une erreur (NameError):# print(aire) # Erreur : 'aire' n'est pas définie iciB. Variables Globales
Une variable définie en dehors de toute fonction est une variable globale. Elle est accessible partout dans le programme.return.