테코레이터 패턴은 함수의 객체와 함수를 변경하는 다른 객체를 Wrapping 해줍니다.
즉, 기존의 함수를 꾸며주는 역할!
def copyright(func):
def new_func():
print("@ copyrignt from joy")
func()
return new_func
def smile():
print("😊")
def angry():
print("🤯")
def love():
print("😍")
| 아래처럼 일일이 새로운 함수로 재정의해서 사용하는 방법도 있지만...
smile = copyright(smile)
angry = copyright(angry)
love = copyright(love)
smile()
angry()
love()
| 대신 @decorator 사용해주는 방식 사용하면 깔끔 간편!
def copyright(func):
def new_func():
print("@ copyrignt from joy")
func()
return new_func
@copyright
def smile():
print("😊")
@copyright
def angry():
print("🤯")
@copyright
def love():
print("😍")
smile()
angry()
love()
인프런의 타입 파이썬! 올바른 class 사용법과 객체지향 프로그래밍 강의 수강 후 정리한 내용입니다.