SteadyDrills

[TIL] 재귀함수 & lambda함수 본문

PYTHON

[TIL] 재귀함수 & lambda함수

Drills 2024. 7. 18. 22:08

240718

재귀함수

자기 자신을 호출하는 함수. 문제를 더 작은 하위 문제로 나누어 해결하는 방법

예시로는 팩토리얼, 피보나치수열 등이 있다.

# N번째 피보나치 수를 찾는 코드

n =int( input("숫자를 적어주세요:"))

def fibo(n):
    if n == 0:
        return 0  
    elif n == 1:
        return 1  
    else:
        return fibo(n - 1) + fibo(n - 2)  
    


print(fibo(n))

 

장점은  복잡한 문제를 분할해서 단순한 코드로 해결할 수 있다는 점이다.

단점은 호출될 때마다 메모리에 스택이 쌓이며, 조건을 잘못 설정할 경우 종료되지 않을 수 있다.

 

lambda 함수(익명함수)

'def'키워드를 통해 이름 짓는 일반 함수와 달리, 보통 한 줄로 정의되는 함수이다.

한 번 호출한 후에는 사용할 수 없으므로 반복사용하지 않을 경우에만 사용된다.

# 기본 구조
lambda 인자1, 인자2, ... : 표현식

sum = lambda x,y:x+y
print(sum(2,3))   # 5