Les fonctions sont des éléments constitutifs fondamentaux de tout langage de programmation, et Python ne fait pas exception. Elles vous permettent d’organiser le code en blocs réutilisables et faciles à gérer, améliorant ainsi la lisibilité, la maintenabilité et l’efficacité. Ce tutoriel vous guidera à travers les concepts de base des fonctions Python.
Table des matières
- Qu’est-ce qu’une fonction Python ?
- Définition des fonctions Python
- Exemples de fonctions
- Appel des fonctions
- L’instruction
return
- Portée et durée de vie des variables
- Types de fonctions
Qu’est-ce qu’une fonction Python ?
Une fonction Python est un bloc de code autonome conçu pour effectuer une tâche spécifique. C’est un moyen d’encapsuler la logique, rendant vos programmes plus modulaires et plus faciles à comprendre. Les fonctions favorisent la réutilisabilité du code ; au lieu d’écrire le même code plusieurs fois, vous l’écrivez une fois et l’appelez chaque fois que nécessaire.
Définition des fonctions Python
Vous définissez une fonction à l’aide du mot clé def
, suivi du nom de la fonction, de parenthèses ()
et d’un deux-points :
. Le corps de la fonction, indenté ci-dessous, contient le code à exécuter. Les paramètres (entrées) sont spécifiés entre parenthèses.
def greet(name):
"""Cette fonction salue la personne passée en paramètre."""
print(f"Bonjour, {name} !")
def add(x, y):
"""Cette fonction ajoute deux nombres et renvoie la somme."""
return x + y
Éléments clés :
def
: Le mot clé indiquant une définition de fonction.- Nom de la fonction : Un nom descriptif suivant les conventions de nommage Python (minuscules avec des underscores).
- Paramètres : Variables entre parenthèses qui reçoivent des valeurs d’entrée.
- Docstring : Une chaîne de caractères entre guillemets triples (
"""Docstring goes here"""
) expliquant le but de la fonction. Essentiel pour la lisibilité. - Corps de la fonction : Le bloc de code indenté.
- Instruction
return
(facultatif) : Spécifie la valeur renvoyée par la fonction.
Exemples de fonctions
Voici quelques exemples illustrant différents aspects de la définition et de l’utilisation des fonctions :
def calculate_area(length, width):
"""Calcule l'aire d'un rectangle."""
return length * width
area = calculate_area(5, 10) # Appel de la fonction
print(f"L'aire est : {area}") # Sortie : L'aire est : 50
def factorial(n):
"""Calcule la factorielle d'un entier non négatif."""
if n == 0:
return 1
else:
return n * factorial(n-1) #Fonction récursive
print(factorial(5)) # Sortie: 120
Appel des fonctions
Pour utiliser une fonction, vous l’appelez par son nom suivi de parenthèses, en fournissant les arguments nécessaires (valeurs pour les paramètres).
greet("Alice") # Sortie : Bonjour, Alice !
sum_result = add(5, 3)
print(sum_result) # Sortie : 8
L’instruction return
L’instruction return
spécifie la valeur qu’une fonction renvoie à l’appelant. Si elle est omise, la fonction renvoie implicitement None
.
def no_return():
print("Cette fonction ne renvoie pas de valeur.")
def with_return():
return 42
print(no_return()) # Sortie : Cette fonction ne renvoie pas de valeur. None
print(with_return()) # Sortie : 42
Portée et durée de vie des variables
Les variables définies dans une fonction ont une portée locale — accessibles uniquement dans cette fonction. Les variables définies en dehors des fonctions ont une portée globale — accessibles dans tout le programme. La durée de vie d’une variable est la durée pendant laquelle elle existe en mémoire ; les variables locales n’existent que pendant l’exécution de la fonction.
Types de fonctions
Python prend en charge plusieurs types de fonctions :
- Fonctions intégrées : Fonctions prédéfinies comme
print()
,len()
,input()
. - Fonctions définies par l’utilisateur : Fonctions créées par les programmeurs.
- Fonctions récursives : Fonctions qui s’appellent elles-mêmes (comme l’exemple
factorial
ci-dessus). - Fonctions lambda (fonctions anonymes) : Petites fonctions sans nom définies à l’aide du mot clé
lambda
, souvent utilisées pour les opérations courtes.
Ce tutoriel fournit une compréhension fondamentale des fonctions Python. Une exploration plus approfondie de sujets avancés tels que les arguments par défaut, les arguments mots clés, les arguments de longueur variable (*args
et **kwargs
) et les décorateurs améliorera considérablement vos compétences en programmation Python.