목차
1. Decorator
•
코드를 바꾸지 않고 함수의 기능을 추가하거나 수정하고 싶을때 사용
•
여러개의 함수를 작성하는데 공통된 코드를 뽑아서 묶어 사용할 수 있음
•
args와 *kwargs를 이용하여 내부함수와 내부 인자로 사용
예를 들어, 아래 A와 B함수에서 공통된 부분인 code_1과 code_3을 빼서 묶어 사용하고 싶을 때 사용
def A():
code_1
code_2
code_3
def B():
code_1
code_4
code_3
Python
복사
2. Decorator 사용 방법
def C(func):
def wrapper(*args, **kwargs) # inner function
code_1
result = func(*args, **kwargs)
code_3
return result
return wrapper
@C
def A():
code_2
@C
def B():
code_4
Python
복사
결과:
A() - code1, code2, code3
B() - code1, code4, code3
decorator를 쓰지 않으면 아래 처럼 써야함
C(A)()
3. Decorator 함수 만들어보기
3.1 더하기와 빼기 연산을 display하기
3.2 함수의 실행 시간을 측정하는 데코레이터 함수
3.3 관리자 계정을 확인해서 관리자 계정이면 패스워드를 출력하는 함수
참고자료
•
패스트캠퍼스, ⟪데이터사이언스스쿨 8기⟫ 수업자료
•
인프런, ⟪프로그래밍, 데이터 과학을 위한 파이썬 입문⟫ 수업 자료