0Pricing
Python Academy · Leçon

Valeurs de retour et portée

Comprenez les instructions return et la portée des variables (locale ou globale).

Valeurs de retour et portée est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.

Introduction

Comprendre les instructions return et la portée des variables est essentiel pour écrire des fonctions Python prévisibles et exemptes de bogues.

Instruction return

return expr quitte la fonction et renvoie expr à l'appelant. Un return sans valeur renvoie None.
def double(x):
    return x * 2
print(double(5))

Retour anticipé

Il est tout à fait possible d'avoir plusieurs instructions return : la première rencontrée quitte la fonction. C'est utile pour les clauses de garde.
def abs_val(x):
    if x < 0:
        return -x
    return x
print(abs_val(-7))

Portée locale

Les variables créées à l'intérieur d'une fonction sont locales : elles n'existent pas à l'extérieur.
def f():
    x = 10
    print(x)
f()
# print(x)  # NameError

Portée globale

Les variables définies au niveau du module sont globales. Les fonctions peuvent READ les variables globales sans les déclarer.
name = 'Alice'
def greet():
    print('Hello', name)  # reads global
greet()

Mot-clé global

global x à l'intérieur d'une fonction vous permet de WRITE dans une variable globale. Utilisez-le avec parcimonie : il rend le code difficile à comprendre.
counter = 0
def increment():
    global counter
    counter += 1
increment()
print(counter)

Mot-clé nonlocal

nonlocal x dans une fonction imbriquée vous permet d'écrire dans une variable de la portée englobante, mais pas dans une portée globale.
def make_counter():
    count = 0
    def inc():
        nonlocal count
        count += 1
        return count
    return inc
c = make_counter()
print(c(), c())

Règle LEGB

Python résout les noms dans cet ordre : locale → englobante → globale → intégrée. C'est la règle LEGB.
x = 'global'
def outer():
    x = 'enclosing'
    def inner():
        print(x)  # enclosing
    inner()
outer()

Renvoyer plusieurs valeurs

def f(): return 1, 2, 3 renvoie un tuple. a, b, c = f() le décompose.
def stats(lst):
    return min(lst), max(lst), sum(lst)/len(lst)
lo, hi, avg = stats([1,2,3,4,5])
print(lo, hi, avg)

Renvoyer des fonctions (fermetures)

Une fonction peut renvoyer une autre fonction. La fonction interne se souvient de la portée externe : c'est une fermeture.
def make_adder(n):
    def adder(x):
        return x + n
    return adder
add5 = make_adder(5)
print(add5(3))

None ou absence de return

Renvoyez toujours None explicitement pour signaler une absence de valeur. S'appuyer sur None implicite est valide, mais une formulation explicite est plus claire.
def find(lst, val):
    for i, x in enumerate(lst):
        if x == val:
            return i
    return None
print(find([1,2,3], 9))

Vérification rapide

Dans la règle LEGB, quelle portée est vérifiée en dernier ?

Récapitulatif

return quitte une fonction en renvoyant une valeur. Les variables locales ne se propagent pas à l'extérieur. Utilisez global/nonlocal pour écrire dans des portées externes. LEGB : locale, englobante, globale, intégrée.

Continuez ainsi

Excellent travail ! Passez à la leçon suivante pour continuer à progresser.

Questions Fréquemment Posées

La leçon « Valeurs de retour et portée » est-elle gratuite ?

Oui — le texte complet de « Valeurs de retour et portée » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Valeurs de retour et portée » ?

Comprenez les instructions return et la portée des variables (locale ou globale). Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Python Academy ?

Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Valeurs de retour et portée » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?

Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Définir et appeler des fonctions
  2. Arguments par défaut et arguments nommés
  3. args et kwargs
  4. Valeurs de retour et portée
← Retour à Python Academy