Re: 데코레이터 강의중 오류 질문
, 도장_ 관리자님이 작성문의하신 내용은 튜플이 맞습니다.
온라인에는 이에 맞게 내용을 수정했고, 종이책에는 다음 쇄에 반영될 예정입니다.
decorator1 안의 wrapper에서 func()는 hello를 호출하는 것이 아니라 decorator2 안의
wrapper를 호출하게 됩니다. 그리고 decorator2 안의 wrapper에서 func()가 hello를 호출합니다.
즉,
wrapper (decorator1) -> wrapper (decorator2) -> hello 순서입니다.
@decorator1
@decorator2
def hello():
print('hello')
@decorator2
def hello():
print('hello')
는
decorated_hello = decorator1(decorator2(hello))
decorated_hello()
decorated_hello()
를 축약한 것이기 때문에 hello를 한 번만 호출합니다. 코드상에서도 decorator2에만 hello를 넣는 것을 볼 수 있습니다.