def reculsion(num):
if num > 0:
print('현재', num)
reculsion(num-1)
print('과거', num)
reculsion(8)
결과
현재 8
현재 7
현재 6
현재 5
현재 4
현재 3
현재 2
현재 1
과거 0
과거 1
과거 2
과거 3
과거 4
과거 5
과거 6
과거 7
과거 8
재귀함수란 함수 내에서 자신을 다시 부르는 함수를 말한다.
reculsion(8)의 경우, 8이 0보다 크기에 현재를 출력한 후, 7을 넣고 다시 실행된다.
그리고 그 과정을 num이 0이 될 때까지 반복하고, num이 0보다 크지 않기에
과거와 숫자를 출력하고 함수는 끝난다.
하지만, 재귀함수를 호출한 이전 함수들이 끝나지 않았기에, 먼저 열린 함수부터 닫히면서,
처음 열린 reculsion(8)의 함수가 닫히는 순간 끝나게 된다.
댓글