# 데코레이터 생성
def logger(func):
def wrapper(arg):
print("함수 시작")
func(arg)
print("함수 끝")
return wrapper
@logger
def print_hello(name):
print("hello", name)
@logger
def print_bye(name):
print("bye", name)
print_hello('startcoding')
print_bye('fastcampus')
위에 구문을 보면 @logger
데코레이터를 추가 함으로써 함수에 출력되는 값 뿐만 아니라 함수의 시작과 끝을 알리는 문구를 출력하게 해준다. 만약에 이 데코레이터를 사용하지 않고 해당 함수에 문구를 하나하나 넣어야한다고 생각해보자, 한 두개 정도는 괜찮겠지만 만약 수십개를 넣어야 한다면 코드가 매우 지저분해질 것이다.
조금이나마 가독성을 높이기 위해 데코레이터를 사용한다.