Fonctions Python : guide définitif et exemples

Maîtrisez les fonctions Python. Apprenez à écrire du code réutilisable à l'aide de def, à définir des arguments, à renvoyer des valeurs et à comprendre la portée localement et globalement.

Essayez dans l'éditeur

Aperçu

Une fonction est un bloc autonome de code organisé et réutilisable conçu pour effectuer une action unique et spécifique. À mesure que vos scripts Python dépassent quelques lignes, l’organisation du code en fonctions devient critique. Les fonctions éliminent la complexité, rendant le flux de votre programme principal plus facile à lire et à maintenir. Au lieu de répéter la même logique à plusieurs endroits, vous écrivez une fonction une fois et vous l'« appelez » partout où cela est nécessaire.

Python fournit de nombreuses fonctions intégrées prêtes à l'emploi, telles que `print()`, `len()` et `type()`. Cependant, le véritable pouvoir de la programmation réside dans la création de vos propres fonctions définies par l'utilisateur. En encapsulant la logique, vous créez des blocs de construction modulaires qui peuvent être testés de manière isolée et réutilisés dans différents projets ou partagés avec une équipe.

Pour définir une fonction en Python, vous utilisez le mot-clé `def`, suivi d'un nom de fonction descriptif, de parenthèses `()` et de deux points `:`. Tout code indenté en dessous de cette définition appartient au bloc fonction. La fonction s'exécute uniquement lorsqu'elle est explicitement appelée par son nom.

Les fonctions peuvent accepter des données via des paramètres (également appelés arguments). Ce sont des variables répertoriées entre parenthèses dans la définition de la fonction. Vous pouvez exiger des arguments de position, qui doivent être transmis dans un ordre exact, ou utiliser des arguments de mots-clés avec des valeurs par défaut, permettant des appels de fonction flexibles. Par exemple, `def calculate_tax(price, rate=0.05):` permet à l'appelant d'omettre l'argument `rate`, en le définissant par défaut sur 5 %.

Enfin, les fonctions renvoient généralement des données à l'appelant à l'aide de l'instruction « return ». Lorsqu'un « return » est exécuté, la fonction se termine immédiatement et renvoie la valeur spécifiée. En Python, vous pouvez même renvoyer plusieurs valeurs séparées par des virgules, que Python regroupe automatiquement dans un tuple. Comprendre la portée de la fonction (la règle selon laquelle les variables créées à l'intérieur d'une fonction ne sont pas accessibles de l'extérieur) est essentiel pour prévenir les mutations d'état sujettes aux bogues.

Sortie de code et d'exécution

Voici une fonction simple qui calcule la taxe appliquée à un prix, démontrant les paramètres et les valeurs de retour.

functions_demo.py
Essayez dans l'éditeur
def calculate_total(price, tax_rate=0.08):
    """
    Calculates the final price after applying tax.
    """
    tax_amount = price * tax_rate
    total = price + tax_amount
    return total

print(calculate_total(100.00))
print(calculate_total(50.00, tax_rate=0.10))
Sortie terminale
108.0
55.0

Mise en œuvre étape par étape

  • Encapsuler des formules mathématiques complexes
  • Séparer la logique de l'interface utilisateur de la logique métier back-end
  • Création de modules utilitaires pour la collaboration en équipe

Foire aux questions

Quels sont les arguments par défaut ?

Les arguments par défaut sont des valeurs utilisées si aucun argument n'est fourni lors de l'appel de fonction.

Une fonction peut-elle renvoyer plusieurs valeurs ?

Oui, Python permet aux fonctions de renvoyer plusieurs valeurs en les séparant par des virgules. Sous le capot, cela renvoie un tuple.

Sujets connexes

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.