파이썬 데코레이터 완벽 이해와 활용 예시

안녕하세요. 오늘은 파이썬 데코레이터에 대해 알아보겠습니다. 파이썬에서 데코레이터는 코드를 간결하고 읽기 쉽게 만들어주는 기능입니다. 이번에 데코레이터의 기본 개념부터 실제 사용 예제까지 다루어 보겠습니다.

파이썬 데코레이터

파이썬 데코레이터란?

데코레이터는 다른 함수를 감싸는 함수라고 생각하시면 됩니다.

감싼 함수의 기능을 확장하거나 변경할 때 사용하는데, 데코레이터는 함수를 변경하지 않고 추가적인 기능을 부여할 수 있는 기법 중 하나입니다.

데코레이터는 함수 위에 @를 입력한 뒤 지정한 데코레이터 이름을 써주시면 됩니다.

이 코드에서는 앞에 ‘바보’ 라는 문자열을 붙이게 해보았습니다.

데코레이터의 사용 예

파이썬 데코레이터는 저런식으로 사용하지 않고도 로깅, 실행 시간 측정, 권한 검사 등에서 유용하게 사용됩니다. 예를 들어 함수의 실행 시간을 측정하는 데코레이터를 작성해보겠습니다.

이 데코레이터를 사용하면 long_running_function 함수의 실행 시간을 측정할 수 있습니다.

*arg와 **kargs에 대해 궁금하실 수도 있는데, *args는 함수에 임의의 개수의 위치 인자를 전달할 때 사용되고

**kwargs는 함수에 임의의 개수의 키워드 인자를 전달할 때 사용됩니다. func(a=1, b=2)와 같이 함수를 호출하면 {‘a’: 1, ‘b’: 2}로 묶여 함수 내부로 전달됩니다.”

데코레이터의 활용

그래서 이걸 어디다 쓰냐구요?

사용할 수 있는 상황은 많은데 예를 들어 웹 애플리케이션에서 특정 기능을 수행하기 전에 사용자가 관리자인지 확인해야 할 때가 있습니다. 이런 경우에 데코레이터를 활용하면 코드를 가독성 좋고 깔끔하게 유지할 수 있습니다.

위처럼 @admin_required 라는 데코레이터를 추가하면 읽기에도 아 이게 관리자 권한이 필요한 함수이구나 하고 알아들을 수 있고, 함수 안에 따로 권한을 검증하는 코드를 추가하지 않고 깔끔하게 작성할 수 있습니다.

데코레이터는 이처럼 코드의 재사용성을 높이고 함수의 기능을 확장하는 데 매우 유용합니다.

이 글을 통해 데코레이터의 기본적인 사용 방법과예제를 통한 활용 방법을 이해하셨기를 바랍니다. 다른 글도 확인하시려면 여기를 눌러 블로그 메인도 방문해주세요. 감사합니다.

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다