Python 遞歸函數 詳解
在函數內調用當前函數本身的函數就是遞歸函數
下面是一個遞歸函數的實例:
第一次接觸遞歸函數的人,都會被它調用本身而搞得暈頭轉向,而且看上面的函數調用,得到的結果會是:
為什么會得出上面的結果呢?因為都把調用函數本身之后的代碼給忘記了,就是else之后的python 代碼。
實際此遞歸函數輸出的是以下結果:
相信大家看到這里都有點蒙,小編也一樣,我第一次看到這個遞歸函數時,只能理解到第一個結果。那是因為,大部分人在做事情的時候,中斷第一件事,被安排去做第二件事的時候,就會把第一件事后續的事情給忘記,如果在做第二件事的時候,又被中斷,被安排去做第三件事,就會把第一件、第二件要做的后續的事情給忘記......,這就是不理解遞歸函數的原因。
下面我把此遞歸函數做了一個分解,希望能夠幫到大家。
詳解遞歸函數,當調用遞歸函數digui(3)時,執行過程如下:
在調用函數本身時,它之后的代碼並沒有結束,而是在等待條件為False 時,再接着執行之后的代碼,同一個顏色的print()語句等待對應顏色的函數。