Comment appeler une fonction en Python : le guide ultime

Les fonctions sont un concept essentiel en programmation qui permet de gérer et de réutiliser des blocs de code. Savoir appeler une fonction en Python est une compétence clé à apprendre.

Dans ce didacticiel, vous apprendrez les bases de l'appel de fonctions, ainsi que quelques conseils pour écrire un code efficace et plus facile à comprendre.

Les fonctions de maîtrise vous aideront non seulement à créer un code plus polyvalent, mais également à rationaliser votre processus de programmation et à améliorer votre efficacité globale en tant que développeur.

Les fonctions ont les mêmes principes sous-jacents, et une fois que vous maîtrisez les fonctions en Python, vous serez en mesure d'élargir votre compréhension des fonctions par rapport à d'autres langages de programmation comme Java, R, JavaScript, PHP, etc.

Comment appeler une fonction en Python : le guide ultime

Table des matières

Qu'est-ce qu'une fonction ?

Une fonction en Python vous permet de créer des morceaux de code réutilisables qui peuvent être appelés tout au long de votre programme, simplifiant votre code et améliorant la lisibilité. Il exécute une tâche spécifique ou un ensemble de tâches et peut être appelé plusieurs fois dans un programme. 

Définir une fonction en Python

Il existe deux grandes catégories de fonctions en Python :

  • Fonctions définies par l'utilisateur : fonctions qu'un programmeur définit pour éviter la répétition du code
  • Fonctions intégrées : fonctions définies par quelqu'un d'autre et pouvant être utilisées dans votre code après l'installation des packages nécessaires

Cette section du didacticiel Python se concentre sur les fonctions définies par l'utilisateur. Vous apprendrez:

  • Comment définir une fonction en Python
  • La syntaxe de la fonction
  • Comment utiliser les paramètres et les arguments

Syntaxe de la fonction

Le def mot-clé, suivi du nom de la fonction et des parenthèses, permet de définir une fonction en Python. Le corps de la fonction est indenté et contient le code à exécuter lorsque la fonction est appelée. Un exemple de fonction de base en Python est donné ci-dessous :

def greet(): print("Hello, World!") greet()

Le def mot-clé définit une nouvelle fonction avec le nom greet. La troisième ligne de code appelle la fonction, qui exécute le code à l'intérieur de la fonction.

Comment appeler une fonction en Python : le guide ultime

La printligne dans le code ci-dessus est également une fonction. Cependant, si vous travaillez dans un environnement Python 2, il est défini comme une instruction. Plus tard, dans Python 3, il a été changé d'instruction en fonction.

Paramètres et arguments

Les paramètres sont les espaces réservés dans la définition de la fonction, tandis que les arguments sont les valeurs transmises lors de l'appel de la fonction.

Pour spécifier des paramètres, incluez-les entre parenthèses dans la définition de la fonction, séparés par des virgules s'il existe plusieurs paramètres. Lorsque vous appelez une fonction, vous fournissez les valeurs d'entrée appelées arguments. L'exemple suivant illustre la définition d'une fonction qui accepte deux paramètres :

def add_numbers(a, b): retourne a+b

L' return instruction dans le corps de la fonction renvoie l'addition des deux arguments qui lui sont passés. Vous pouvez le considérer comme une calculatrice, où vous entrez des valeurs et obtenez le résultat souhaité en retour.

Après avoir défini la fonction, nous pouvons l'appeler avec les arguments de notre choix.

add_numbers(3, 5)

Comment appeler une fonction en Python : le guide ultime

L'argument des kwargs

kwargs est l'abréviation de "arguments de mots clés" en Python. Il vous permet d'étendre la flexibilité d'une fonction en permettant à l'appelant de spécifier n'importe quel nombre d'arguments de mots clés lors de l'appel de la fonction. Les arguments de mots clés sont passés sous forme de dictionnaire à la fonction.

Dans une définition de fonction, vous pouvez utiliser la **syntaxe à double astérisque avant le nom du paramètre pour accepter les arguments de mot-clé.

def my_function(**kwargs) : pour la clé, valeur dans kwargs.items() : print(f"{key} = {value}") my_function(a=1, b=2, c=3)

Dans cet exemple, kwargs sera un dictionnaire contenant les arguments de mots-clés passés à la fonction. La sortie est illustrée dans l'image ci-dessous :

Comment appeler une fonction en Python : le guide ultime

Appel d'une fonction

Appeler une fonction signifie exécuter le code à l'intérieur du corps de la fonction. Il existe quatre types d'appels de fonction en Python :

  • Appel de fonction de base
  • Appel avec des arguments positionnels
  • Appel avec des arguments de mots-clés

Appel de fonction de base

Un appel de fonction de base invoque la fonction sans passer d'arguments dans la fonction. Après avoir défini une fonction, vous pouvez l'appeler en utilisant son nom suivi de parenthèses.

Si la fonction ne prend aucun argument, les parenthèses seront vides. Le code ci-dessous est un exemple de fonction de base.

def welcome_message(): print("Bienvenue sur LuckyTemplates!") welcome_message()

L'exécution du code ci-dessus donne le résultat suivant :

Comment appeler une fonction en Python : le guide ultime

Arguments positionnels

Les arguments positionnels sont le type d'argument le plus courant et ils sont passés à la fonction dans le même ordre qu'ils sont spécifiés. Voici un exemple d'appel de fonction avec des arguments positionnels :

def welcome_message(name): print(f"Bienvenue sur LuckyTemplates, {name}!") welcome_message("John")

Dans l'exemple ci-dessus, la welcome_message()fonction prend un argument, name. Lorsque vous appelez cette fonction avec l'argument John, elle affichera le message à côté du nom.

Le code ci-dessus donne la sortie suivante :

Comment appeler une fonction en Python : le guide ultime

Arguments de mots clés

Une autre façon de passer des arguments à une fonction consiste à utiliser des arguments de mots clés. Les arguments de mot-clé vous permettent de spécifier le nom du paramètre avec sa valeur, ce qui rend le code plus lisible et réduit le risque de passer des arguments dans le mauvais ordre. 

L'exemple ci-dessous utilise des arguments de mots clés pour appeler la welcome_messagefonction :

def welcome_message(name, message='Welcome to LuckyTemplates!'): print(message, name) welcome_message(name='Alice', message='Bonjour')

Dans cet exemple, nous avons défini une fonction welcome_message()qui a deux paramètres, nameet message. Le paramètre message a un argument par défaut de Welcome to LuckyTemplates!Lors de l'appel de la fonction, nous utilisons des arguments de mots clés pour transmettre la valeur John, ce qui donne la sortieWelcome to LuckyTemplates! John.

Comment appeler une fonction en Python : le guide ultime

Valeurs de retour

Lorsque vous travaillez avec des fonctions, vous souhaiterez souvent renvoyer le résultat des opérations à l'intérieur du corps de votre fonction. Les valeurs de retour permettent à une fonction de renvoyer un résultat à l'appelant. En comprenant comment travailler avec des valeurs de retour uniques et multiples, vous pouvez améliorer les fonctionnalités de vos programmes Python.

Valeur de retour unique

Une fonction à valeur de retour unique renvoie une valeur à partir des opérations d'une fonction.

Un exemple de fonction de valeur de retour unique est donné ci-dessous :

def get_greeting(nom): return "Bonjour, " + nom + "!" salutation = get_greeting("Alice") impression(salutation)

Dans l'exemple ci-dessus, la fonction get_greetingprend un nom lorsque son argument de fonction le compile et renvoie un message d'accueil personnalisé. La valeur de retour est ensuite stockée dans la variable salutation et imprimée sur la console.

Comment appeler une fonction en Python : le guide ultime

Valeurs de retour multiples

Parfois, vous devrez renvoyer plusieurs valeurs d'une fonction en Python. Pour ce faire, vous pouvez utiliser un tuple ou une liste pour envelopper les valeurs de retour.

Voici un exemple de fonction de valeurs de retour multiples dans le langage de programmation Python.

def get_name_and_age(): return ("John", 30) nom, age = get_name_and_age() print(name) print(age)

Comment appeler une fonction en Python : le guide ultime

Dans cet exemple, get_name_and_ageest une fonction qui renvoie un tuple avec deux valeurs : a name et an age.

Vous pouvez également renvoyer une liste de valeurs à partir d'une fonction en Python . La fonction ci-dessous illustre une valeur de retour de liste à partir d'une fonction.

def calculate_areas(height, width): return [height * width, (height * width) / 2] area, triangle_area = calculate_areas(10, 5) print(area) print(triangle_area)

Comment appeler une fonction en Python : le guide ultime

Dans ce cas, la fonction calculate_areasprend deux arguments, height, et width, et renvoie une liste contenant l'aire d'un rectangle et l'aire d'un triangle.

Passer des fonctions Python comme arguments

Python vous permet de passer des fonctions comme arguments à d'autres fonctions. Lorsqu'une fonction accepte une autre fonction comme argument, elle est appelée fonction d'ordre supérieur.

Le code ci-dessous est un exemple de transmission d'une fonction à une autre fonction en Python :

def carré(x) : retour x * x def double(x) : retour x * 2 def apply_func(func, x) : retour func(x) résultat = apply_func(carré, 5)

Comment appeler une fonction en Python : le guide ultime

Fonctions imbriquées

Les fonctions imbriquées sont des fonctions définies dans une autre fonction, également appelées fonctions internes. Ceux-ci peuvent être utiles lors de la création de fermetures et de code modulaire. 

Pour créer une fonction imbriquée, définissez simplement une fonction dans une autre fonction :

def fonction_extérieure(x, y): def fonction_intérieure(z): retour x + y + z résultat = fonction_intérieure(3) retour résultat # Appelez la fonction externe print(fonction_extérieure(1, 2))

Dans l'exemple ci-dessus, la fonction_intérieure est définie dans la fonction_extérieure. La fonction interne a accès aux variables de la fonction externe, lui permettant d'effectuer des opérations sur celles-ci.

Comment appeler une fonction en Python : le guide ultime

Fonctions lambda

Les fonctions Lambda, également appelées fonctions anonymes, sont un moyen de créer de petites fonctions à usage unique en Python. Dans les projets de science des données, vous travaillerez souvent avec des fonctions Lambda pour créer des structures de données et des pipelines efficaces.

Pour créer une fonction lambda, vous pouvez utiliser le mot-clé lambda suivi d'une liste d'arguments, de deux-points, puis d'une expression. L'expression est ce que la fonction lambda renverra une fois appelée. Voici un exemple de fonction lambda en Python :

add = lambda a, b: a + b result = add(3, 4) print(result) # Output: 7

Dans l'exemple ci-dessus, nous avons créé une fonction lambda qui prend deux arguments ( a et b) et renvoie leur somme. Nous avons attribué cette fonction lambda à une variable appelée add.

Comment appeler une fonction en Python : le guide ultime

Lambda peut être utile dans les scénarios suivants :

  • En tant qu'arguments pour les fonctions d'ordre supérieur telles que map(), filter() et sorted().
  • En tant que fonctions clés lors du tri de listes ou de dictionnaires.

L'exemple suivant illustre l'utilisation de la fonction d'ordre supérieur filter() avec lambda :

nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9] nombres_pairs = liste(filtre(lambda x : x % 2 == 0, nombres)) impression(nombres_pairs) # Sortie : [2, 4, 6, 8]


Dans cet exemple, nous avons utilisé une fonction lambda pour définir les critères de filtrage de la fonction filter(). La fonction lambda vérifie si un nombre est pair et la fonction filter() renvoie une nouvelle liste contenant uniquement les nombres pairs.

Comment appeler une fonction en Python : le guide ultime

Pour voir un exemple de la façon dont les fonctions peuvent être utiles dans différents scénarios de science des données, regardez la vidéo ci-dessous :

Récursivité

La récursivité est une technique de programmation où une fonction s'appelle elle-même. Cela peut être un moyen utile de résoudre des problèmes complexes en les décomposant en sous-problèmes plus petits et identiques.

Lors de la création d'une fonction récursive, vous devez garder deux choses à l'esprit : le cas de base et le cas récursif. 

  • Le cas de base est la condition qui arrête la récursivité
  • Le cas récursif est celui où la fonction s'appelle elle-même. Le cas récursif agit comme un itérateur pour la fonction

L'exemple suivant illustre les fonctions récursives en Python :

def factoriel(n) : si n == 1 : retour 1 retour n * factoriel(n - 1) factoriel(5)

Dans cet exemple, le cas de base est when n == 1, et la fonction renvoie 1. Le cas récursif se produit lorsque n n'est pas égal à 1 et que la fonction s'appelle elle-même avec n - 1.

Comment appeler une fonction en Python : le guide ultime

Erreurs courantes et dépannage

Si vous êtes un programmeur débutant, vous rencontrerez souvent des erreurs lors de l'implémentation de fonctions telles que les fonctions récursives et lambda. Les sections suivantes mettent en évidence quelques erreurs courantes et des conseils de dépannage pour vous aider à les résoudre efficacement.

1. TypeError: missing a required argument : Cette erreur se produit lorsque vous ne fournissez pas le nombre correct d'arguments attendus par la fonction.

def my_function(fname, lname): print(fname, lname) # Appel correct my_function("John", "Doe") # Génère une erreur my_function("John")

Comment appeler une fonction en Python : le guide ultime

Pour corriger cette erreur, assurez-vous de transmettre le nombre correct d'arguments à votre fonction.

2. TypeError : type d'opérande non pris en charge . Cette erreur peut se produire lorsque vous essayez d'utiliser un opérateur avec des types incompatibles.

def add_number(a, b): return a + b # Résultat d'appel correct = add_number(5, 3) print(result) # Génère une erreur en raison d'arguments incorrects result = add_number("5", 3) print(result)

Comment appeler une fonction en Python : le guide ultime

Pour corriger cette erreur, vérifiez que vos fonctions traitent les bons types de données et envisagez d'utiliser la conversion de type si nécessaire.

3. NameError: name 'function_name' is not defined : Cette erreur suggère que la fonction n'a pas été définie avant d'être appelée. 

# Ordre correct def greet(): print("Bonjour, là!") greet() # Ordre incorrect goodbye() def goodbye(): print("Au revoir!")

Comment appeler une fonction en Python : le guide ultime

Pour corriger cette erreur, assurez-vous que votre fonction est correctement définie et que vous l'appelez après sa définition.

Conclusion

Pour récapituler et vous aider à consolider votre compréhension, les points suivants résument les aspects clés de l'appel de fonctions en Python :

  • Pour appeler une fonction, utilisez le nom de la fonction suivi de parenthèses (par exemple, function_name()).
  • Si la fonction prend des arguments, incluez-les entre parenthèses (par exemple, function_name(arg1, arg2)).
  • Vous pouvez créer vos propres fonctions à l'aide du mot-clé def, en définissant la portée de la fonction et tous les arguments requis.
  • Lors de l'appel d'une fonction qui renvoie une valeur, vous pouvez affecter le résultat à une variable pour une utilisation ultérieure (par exemple, result = function_name(args)).

Leave a Comment

Gestion des erreurs dans Power Automate via le branchement parallèle

Gestion des erreurs dans Power Automate via le branchement parallèle

Découvrez l

Comparaison de tables dans Power Query | Tutoriel LuckyTemplates

Comparaison de tables dans Power Query | Tutoriel LuckyTemplates

Découvrez comment comparer facilement des tables dans Power Query pour signaler les différences et optimiser vos analyses de données.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Dans ce blog, vous découvrirez comment diviser les colonnes dans LuckyTemplates par délimiteurs à l'aide de DAX, une méthode efficace pour gérer des modèles de données complexes.

SELECTEDVALUE DAX Exemple - Sélection de trancheuse de récolte

SELECTEDVALUE DAX Exemple - Sélection de trancheuse de récolte

Découvrez comment récolter une valeur avec SELECTEDVALUE DAX pour des calculs dynamiques dans LuckyTemplates.

Calculer la marge en pourcentage dans LuckyTemplates à laide de DAX

Calculer la marge en pourcentage dans LuckyTemplates à laide de DAX

Calculez la marge en pourcentage à l

Modifier les formats de date à laide de léditeur Power Query

Modifier les formats de date à laide de léditeur Power Query

Dans ce didacticiel, nous allons explorer une méthode rapide pour convertir du texte en formats de date à l

Enregistrer la pièce jointe dun e-mail sur SharePoint avec Power Automate

Enregistrer la pièce jointe dun e-mail sur SharePoint avec Power Automate

Dans ce blog, vous apprendrez à enregistrer automatiquement la pièce jointe d

Comment adapter les cellules Excel au texte : 4 solutions simples

Comment adapter les cellules Excel au texte : 4 solutions simples

Découvrez comment adapter les cellules Excel au texte avec ces 4 solutions simples pour améliorer la présentation de vos données.

Générateur de rapports SSRS : formater les en-têtes dans un rapport paginé

Générateur de rapports SSRS : formater les en-têtes dans un rapport paginé

Dans ce didacticiel SSRS Report Builder, découvrez comment utiliser le générateur d

Thème de couleur dans les rapports LuckyTemplates - Conseils et techniques

Thème de couleur dans les rapports LuckyTemplates - Conseils et techniques

Découvrez les outils pour créer un thème de couleur efficace pour vos rapports LuckyTemplates et améliorer leur apparence.