본문 바로가기
Python, C, C++

[요점만 파이썬] 재귀함수, 메모화, 조기리턴

by 소나무기운 2021. 10. 2.
반응형

[2021/10/02] 처음 작성

소나무 기운 ,  전자제품 개발/생산

재귀함수, 메모화, 조기리턴

함수의 기본 사용에 대해서 알아보자

 

 

 

재귀함수

자기 자신을 호출하는 함수

def function(k, n):
    if n == k:
        return
    else:
        function(k+1, n)


function(0, 2)


0 번째 실행

1 번째 실행

2 번째 실행

 

 

 

메모화

한번 계산된 내용을 저장하여 이후 재 계산하는 상황을 막는다.

재귀함수 계산시 반복되는 연산을 막아 시간을 줄인다.

dic = {1: 1, 2: 1}


def fib(n):
    if n in dic:
        return dic[n]
    else:
        output = fib(n-1) + fib(n-2)
        dic[n] = output          # 저장
        return output


print(fib(100))

결과값.
354224848179261915075

 

 

조기 리턴

코드를 줄이트 방법 중 하나이다.

def func(i):
    if(i == 1):
        print(i)
        return i
    else:
        return 0


def func2(i):
    if(i == 1):
        print(i)
        return i

    return 0 # else:문 삭제되어도 같음


func(1)
func2(1)

결과 값 :
1
1

 

 

 

마무리

재귀함수, 메모화, 조기 리턴과 기타 방법에 대해 알아보았어요.

 

 

참고문헌

 

 

 

 

 

 

틀린 부분이나 질문은 댓글 달아주세요.

즐거운 하루 보내세요. 감사합니다.

 

 

반응형

댓글