Bonjour à tous,

je lis actuellement le livre "Plonger au cœur de python" >LIEN< et cet exemple m'interroge (expl 2.6).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def fib(n):
    print ('n =', n)
    if n > 1:
        return n * fib(n - 1)
    else:
        print ('end of the line')
        return 1
###    
if __name__ == "__main__":
fib(5)
 
 
"""   voici le resultat
>>> 
n = 5
n = 4
n = 3
n = 2
n = 1
end of the line
>>> 
"""
Je ne comprends pas le fonctionnement du n * dans return n * fib(n - 1)
return fib(n - 1) fonctionne de la même manière. (C'est à dire que return déclenche à nouveau l'utilisation de fib(). )
comment fonctionne return n * fib(n - 1) ?

Pouvez-vous m’éclairer ?