Fonctions Python : Déclaration, Arguments, Return et Variables Globales

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Les bases des fonctions en Python

Les fonctions sont le pilier de tout programme Python. Elles permettent de structurer le code, d'éviter les répétitions et de créer des solutions modulaires et réutilisables.

Que vous soyez débutant ou développeur expérimenté, vous rencontrerez des questions essentielles sur les fonctions Python. Comment passer correctement des arguments à une fonction ? Que sont les variables globales et comment les utiliser ? À quoi servent les décorateurs et comment employer le mot-clé global ? Comment retourner plusieurs valeurs depuis une fonction ?

Définition et syntaxe des fonctions Python

Qu'est-ce qu'une fonction en Python

Une fonction est un bloc de code nommé que l'on peut appeler plusieurs fois. En Python, les fonctions se créent avec le mot-clé def.

Déclaration et appel de fonctions

La déclaration d'une fonction se fait comme suit :

def saluer():
    print("Bonjour tout le monde !")

L'appel d'une fonction se fait par son nom :

saluer()

Les fonctions Python peuvent contenir diverses instructions, conditions, boucles et autres constructions du langage. Une bonne définition des fonctions favorise un code lisible et structuré.

Arguments des fonctions en Python

Arguments positionnels

Les arguments positionnels sont passés à la fonction dans l'ordre où ils sont définis :

def saluer(nom):
    print(f"Bonjour, {nom} !")

saluer("Marie")

Avec les arguments positionnels, il est important de respecter l'ordre de transmission des paramètres.

Arguments par défaut

Les arguments par défaut permettent de définir des valeurs qui seront utilisées si l'argument n'est pas fourni :

def saluer(nom="Invité"):
    print(f"Bonjour, {nom} !")

saluer()  # Bonjour, Invité !

L'utilisation d'arguments par défaut améliore la flexibilité des fonctions et réduit le nombre de paramètres obligatoires.

Arguments nommés (mots-clés)

Les arguments nommés sont passés en précisant le nom du paramètre :

def commander(article, quantite):
    print(f"Vous avez commandé {quantite} {article}")

commander(article="pizza", quantite=2)

Les arguments nommés rendent le code plus lisible et permettent de passer les paramètres dans n'importe quel ordre.

Nombre variable d'arguments

Python permet de passer un nombre indéfini d'arguments grâce à *args et **kwargs :

def somme(*args):
    print(sum(args))

somme(1, 2, 3, 4)  # 10

def afficher_infos(**kwargs):
    for cle, valeur in kwargs.items():
        print(f"{cle}: {valeur}")

afficher_infos(nom="Jean", age=30)

La syntaxe *args accepte un nombre quelconque d'arguments positionnels. La syntaxe **kwargs accepte un nombre quelconque d'arguments nommés.

Retour de valeurs depuis les fonctions Python

Les bases de l'instruction return

Les fonctions peuvent retourner des résultats via l'instruction return. Cela permet d'utiliser le résultat de la fonction dans d'autres parties du programme :

def addition(a, b):
    return a + b

resultat = addition(5, 3)
print(resultat)  # 8

L'instruction return termine l'exécution de la fonction et redonne la main à l'endroit où elle a été appelée.

Retour de plusieurs valeurs

Python permet de retourner plusieurs valeurs en même temps :

def obtenir_coordonnees():
    return 10, 20

x, y = obtenir_coordonnees()

Techniquement, Python retourne un tuple qui peut ensuite être décompressé en variables distinctes. C'est un moyen pratique d'obtenir plusieurs résultats depuis une seule fonction.

Particularités de l'instruction return

Si une fonction ne contient pas d'instruction return, elle retourne automatiquement None. Il est également possible d'utiliser return sans valeur pour terminer prématurément une fonction.

Blogs

Book Recommendations