-재귀호출(recursive call): 함수 안에서 자기 자신을 호출하는 방식
-알고리즘 구현할 때 유용
-반복문보다 재귀호출로 구현한 코드가 좀 더 직관적이고 이해하기 쉬운 경우가 많다.
-최대 재귀 깊이(재귀호출로 최대 반복한 횟수)인 1000을 초과하면 RecursionError발생
-반드시 종료 조건을 달아줘야 한다.
재귀호출 예시
ef hello(count):
if count == 0:
return
print('Hello world', count)
count -= 1
hello(count)
>>> hello(5)
Hello world 5
Hello world 4
Hello world 3
Hello world 2
Hello world 1
def factorial(n):
if n == 1:
return 1
return n * factorial(n-1)
>>> print(factorial(5))
120