Fonctions Python
- Page précédente Boucle For Python
- Page suivante Lambda Python
La fonction est un bloc de code qui s'exécute uniquement au moment de l'appel.
Vous pouvez transmettre des données (dites paramètres) à la fonction.
La fonction peut renvoyer des données en tant que résultat.
créer une fonction
En Python, utiliser def
Définir une clé :
Exemple
def my_function(): print("Hello from a function")
Appel de la fonction
Pour appeler une fonction, utilisez le nom de la fonction suivi de parenthèses :
Exemple
def my_function(): print("Hello from a function") my_function()
Paramètres
Les informations peuvent être transmises comme paramètres à la fonction.
Les paramètres sont spécifiés dans les crochets après le nom de la fonction. Vous pouvez ajouter un nombre quelconque de paramètres, à condition de les séparer par des virgules.
L'exemple suivant montre une fonction avec un paramètre (fname). Lorsque nous appelons cette fonction, nous transmettons un nom, que nous utilisons à l'intérieur de la fonction pour imprimer le nom complet :
Exemple
def my_function(fname): print(fname + " Gates") my_function("Bill") my_function("Steve") my_function("Elon")
Valeur par défaut des paramètres
L'exemple suivant montre comment utiliser la valeur par défaut des paramètres.
Si nous appelons la fonction sans paramètres, nous utilisons la valeur par défaut :
Exemple
def my_function(country = "China"): print("Je suis de " + country) my_function("Sweden") my_function("India") my_function() my_function("Brazil")
Transmettre avec une liste
Les paramètres que vous envoyez à la fonction peuvent être de n'importe quel type de données (chaînes, nombres, listes, dictionnaires, etc.) et seront traités comme le même type de données à l'intérieur de la fonction.
Par exemple, si vous envoyez une liste en tant que paramètre, elle restera une liste (liste) lorsqu'elle atteindra la fonction :
Exemple
def my_function(food): for x in food: print(x) fruits = ["apple", "banana", "cherry"] my_function(fruits)
Valeur de retour
Pour que la fonction retourne une valeur, utilisez return
Instruction :
Exemple
def my_function(x): return 5 * x print(my_function(3)) print(my_function(5)) print(my_function(9))
Paramètres nommés
Vous pouvez également utiliser la syntaxe key = value pour envoyer des paramètres.
L'ordre des paramètres n'a pas d'importance.
Exemple
def my_function(child3, child2, child1): print("Le plus jeune enfant est " + child3) my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")
Dans les documents Python, le terme "paramètres nommés" est généralement abrégé en kwargs.
Paramètres arbitraires
Si vous ne savez pas combien de paramètres vous allez transmettre à votre fonction, ajoutez * avant le nom du paramètre dans la définition de la fonction.
De cette manière, la fonction recevra un tuple de paramètres et pourra accéder aux éléments en conséquence :
Exemple
Si le nombre de paramètres est inconnu, ajoutez * avant le nom du paramètre :
def my_function(*kids): print("Le plus jeune enfant est " + kids[2]) my_function("Phoebe", "Jennifer", "Rory")
Instructif pass
La définition de la fonction ne peut pas être vide, mais si vous avez écrit une définition de fonction sans contenu pour une raison quelconque, utilisez l'instruction pass pour éviter les erreurs.
Exemple
def myfunction: pass
Récursion
Python accepte également la récursion de fonctions, ce qui signifie que les fonctions définies peuvent appeler elles-mêmes.
La récursion est une notion courante en mathématiques et en programmation. Cela signifie que la fonction appelle elle-même. L'avantage de cela est de pouvoir accéder en boucle aux données pour obtenir un résultat.
Les développeurs doivent être très prudents en matière de récursion, car il est facile d'écrire une fonction qui ne cesse jamais de s'exécuter, ou qui utilise une mémoire ou une capacité de traitement excessive. Mais, une fois correctement écrite, la récursion peut être une méthode de programmation très efficace et mathématiquement élégante.
Dans cet exemple,tri_recursion()
Est une fonction définie comme appelant elle-même ("recurse"). Nous utilisons la variable k comme données et la réduisons à chaque itération de récursion (-1). La récursion se termine lorsque la condition n'est pas supérieure ou égale à 0 (par exemple, lorsque c'est 0).
Pour les nouveaux développeurs, il peut être nécessaire de prendre un certain temps pour comprendre le fonctionnement, et le meilleur moyen est de le tester et de le modifier.
Exemple
Exemple de récursion
def tri_recursion(k): if(k>0): result = k+tri_recursion(k-1) print(result) else: result = 0 return result print("\n\nRésultats d'exemple de récursion") tri_recursion(6)
- Page précédente Boucle For Python
- Page suivante Lambda Python