2017-05-01 2 views
0

戻り値は再帰のすべてのインスタンスをどのように終了させますか?以下では、return文が呼び出されるだけの時間が基本ケースであるように私には思えるし、まだそれは、nが> 1returnはどのようにしてPythonの再帰のすべてのインスタンスを終了させますか

def reco(n): 
    print('create instance nbr ', n) 
    if n == 1: 
     print('base case reached, instances will be popped LIFO') 
     return 
    else: 
     n -= 1 
     reco(n) 
    print('pop instance nbr ', n) 


n = 5 
reco(n) 

答えて

1

あるそうだね、他のインスタンスをすべて閉じているようですreturnステートメントは1回だけ実行されますが、reco()コールは他のすべてのインスタンスで2番目に最後のステートメントになります。実行は、他のインスタンスの終わりからはじまります。

最後に、すべての関数本体に暗黙のreturn Noneステートメントがあると想像すれば、役立つかもしれません。

関連する問題