Fonctions

Manipuler les fonctions avec Python

Une fonction est un bloc de code qui ne s'exécute que lorsqu'il est appelé.

Vous pouvez transférer des données, appelées paramètres, dans une fonction.

Une fonction peut ainsi renvoyer des données.

Création d'une fonction en Python

En Python, une fonction est définie à l'aide de l'instruction def.

def my_function():
    print("Coucou d'une fonction !")

 

Appeler une fonction

Pour appeler une fonction, utilisez le nom de la fonction suivi d'une parenthèse :

def my_function():
    print("Coucou d'une fonction !")
    
my_function()

 

Paramètres

Les informations peuvent être transmises aux fonctions en tant que paramètre.

Les paramètres sont spécifiés après le nom de la fonction, entre parenthèses. Vous pouvez ajouter autant de paramètres que vous le souhaitez, il vous suffit de les séparer par une virgule.

L'exemple suivant a une fonction avec un paramètre (fname). Quand la fonction est appelée, nous passons un prénom, qui est utilisé à l'intérieur de la fonction pour imprimer le nom complet.

def my_function(fname):
    print(fname + " Refsnes")

my_function("David")
my_function("Olivier")
my_function("Aurélien")

 

Valeur par défaut du paramètre

L'exemple suivant montre comment utiliser une valeur de paramètre par défaut.

Si nous appelons la fonction sans paramètre avec Python, elle utilise la valeur par défaut :

def my_function(country = "Norvege"):
    print("Je viens de " + country)

my_function("France")
my_function("Belgique")
my_function()
my_function("Suisse")

 

Valeurs de retour

Pour laisser une fonction retourner une valeur, utilisez l'instruction return :

def my_function(x):
    return 5 * x

print(my_function(5))
print(my_function(4))
print(my_function(8))

 

Récursion

Python accepte également la récursivité des fonctions, ce qui signifie qu'une fonction définie peut s'appeler elle-même.

Il est nécessaire d'être très prudent avec la récursivité car il peut être assez facile d'écrire d'une fonction qui ne se termine jamais, ou qui utilise une quantité excessive de mémoire ou de puissance de calcul. Cependant, lorsqu'elle est écrite correctement, la récursivité peut être une approche très efficace en Python.

Dans cet exemple, tri_recursion() est une fonction que nous avons définie pour s'appeler elle-même ("recurse"). Nous utilisons la variable k comme donnée, qui diminue (-1) à chaque fois. La récursion se termine lorsque la condition n'est pas supérieure à 0 (c'est-à-dire lorsqu'elle est à 0).

Cela peut prendre un certain temps pour comprendre exactement comment cela fonctionne, la meilleure façon de le découvrir est de tester et modifier.

def tri_recursion(k):
    if(k>0):
        result = k+tri_recursion(k-1)
        print(result)
    else:
        result = 0
        return result

print("nnRecursion Exemple de résultats")
tri_recursion(6)

 

Article précédent
Dates et heures en Python
 

A propos de l'auteur

Guillaume Cochet

Guillaume Cochet est consultant SEO à l'agence de Référencement Aseox à Lille.