
재귀 함수란 자기 자신을 다시 호출하는 함수를 의미한다. 이떄 이루어지는 호출을 재귀호출이라고 한다.
재귀 함수 단순 예제
def recursive_function(): print('재귀 함수를 호출합니다.') recursive_function() recursive_function()위 예제는 어느 정도 출력하다 최대 재귀 깊이 초과 오류가 발생하는데, 이는 python에서 메모리 제한을 두었기 때문이다.
(RecursionError: maximum recursion depth exceeded while)

# 재귀 함수 일반적인 형태1
def function(입력값):
if 입력값 > 제한값:
return function(입력값-1)
else:
return 제한값 또는 특정값 # 👈 재귀 호출 종료
# 재귀 함수 일반적인 형태2
def function(입력값):
if 입력값 <= 제한값:
return 제한값 또는 특정값 # 👈 재귀 호출 종료
function(입력값 보다 작은 값)
return 결과값
팩토리얼을 구하는 함수를 만들기 위해서 재귀함수를 사용할 수 있다.
5!를 재귀적으로 생각해본다면 아래와 같은 과정을 거친다.
이것을 재귀 방정식으로 나타낸다면 다음과 같다.

여기서 1!은 더이상 재귀 호출을 해주지 않아도 되기 때문에 이 조건에서 재귀 호출을 종료해주면 된다.
이것을 시각적으로 표현한다면 아래와 같이 나타낼 수 있다.
