이번 포스팅은 함수의 시작과 끝, 혹은 함수의 내용들을 살펴볼 수 있는 '데코레이터'라는 방식에 대해서 살펴본다. 함수가 시작되고 끝나는지, 변수가 뭐가 들어가는지 등.... 의 대해서 알아보고 싶은 것들은 우선 함수로 만들고, 해당 함수를 @와 덧붙여서 지정해주면, 함수가 출력될때 해당 내용도 같이 출력되게 된다
모르고 있었던 사실이었는데, 굉장히 유용할 것 같다.
def print_info(func): def wrapper(*args, **kwargs): print('Start') result = func(*args, **kwargs) print('End') return result return wrapper @print_info def add_num(a, b): return a+b r = add_num(10,20) print(r) def print_more(func): def wrapper(*args, **kwargs): print('func: ', func.__name__) print('args: ', args) print('kwargs: ', kwargs) result = func(*args, **kwargs) print(result) return result return wrapper @print_more def add_num(a,b): return a+b
'Python > Python 잡지식' 카테고리의 다른 글
Python기본 _ 사전형 내포표기 (0) | 2020.01.23 |
---|---|
Python기본 _ 람다 (0) | 2020.01.23 |
Python 기본 _ **kwargs (0) | 2020.01.19 |
Python기본 _ *args (0) | 2020.01.19 |
Python기본 _ items() (0) | 2020.01.15 |