코딩공부/파이썬(Python)

Python_클로저와 데코레이터

diary100 2023. 3. 23. 15:41

 클로저와 데코레이터

  • 함수 안의 함수를 결과로 반환할 때, 그 내부 함수를 클로저라고 함
  • 콜백함수,함수의 순차적 실행, 데코레이터 함수에 사용

클로저와 데코레이터는 함수 자체를 고차원적으로 사용할 수 있게 해주는 역할을 해준다. 예시를 보자

 

이렇게 클래스를 만들어서 사용할 수 있지만 이를 조금 더 간단하게 만들 수 있다. 클로저를 사용하는 방법이다.

 

 

 

쉽게 생각하면 함수안에 함수를 한번더 사용하는 것이다.

●데코레이터

  • 함수를 꾸며주는 함수
  • 함수를 인수로 받는 클로저
  • @(어노테이션)을 이용하여 사용
  • 반복되는 작업을 여러 함수의 적용할 경우, 기존 함수를 수정하지 않고 추가 기능을 구현하고 싶은 경우 사용.

계산시간을 만드는 함수를 예시로 사용해 보겠다.

 

 

이 상황에서의 코드를 조금 더 간단하게 바꾸어보자

 

이렇게 사용하여 코드를 짧고 더욱 활용성 있게 사용할 수 있다.