Gestion des erreurs dans Power Automate via le branchement parallèle
Découvrez l
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.
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 :
Cette section du didacticiel Python se concentre sur les fonctions définies par l'utilisateur. Vous apprendrez:
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.
La print
ligne 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)
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 :
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
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 :
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 :
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_message
fonction :
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, name
et 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.
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_greeting
prend 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.
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)
Dans cet exemple, get_name_and_age
est 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)
Dans ce cas, la fonction calculate_areas
prend 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)
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.
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
.
Lambda peut être utile dans les scénarios suivants :
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.
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.
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
.
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")
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)
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!")
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 :
function_name()
).function_name(arg1, arg2)
).result = function_name(args)
).Découvrez l
Découvrez comment comparer facilement des tables dans Power Query pour signaler les différences et optimiser vos analyses de données.
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.
Découvrez comment récolter une valeur avec SELECTEDVALUE DAX pour des calculs dynamiques dans LuckyTemplates.
Calculez la marge en pourcentage à l
Dans ce didacticiel, nous allons explorer une méthode rapide pour convertir du texte en formats de date à l
Dans ce blog, vous apprendrez à enregistrer automatiquement la pièce jointe d
Découvrez comment adapter les cellules Excel au texte avec ces 4 solutions simples pour améliorer la présentation de vos données.
Dans ce didacticiel SSRS Report Builder, découvrez comment utiliser le générateur d
Découvrez les outils pour créer un thème de couleur efficace pour vos rapports LuckyTemplates et améliorer leur apparence.