데코레이터
, 한 예롬님이 작성def decorator1(func):
def wrapper():
print('decorator1')
func()
return wrapper
def decorator2(func):
def wrapper():
print('decorator2')
func()
return wrapper
# 데코레이터를 여러 개 지정
@decorator1
@decorator2
def hello():
print('hello')
hello()
결과 :
# decorator1
# decorator2
# hello
이 부분에서 저는 결과가 decorator1 hello decorator 2 hello 이렇게 나올 줄 알았는데 왜 결과 값이 다른건지 이해가 가지 않습니다. 설명해주시면 감사하겠습니다.
Re: 데코레이터
, 도장_ 관리자님이 작성데코레이터는 함수를 수정하지 않고 기능을 추가하기 위해 사용됩니다. 데코레이터를 여러 개 추가해도 함수는 한 번만 실행되기 때문에 hello 함수는 한 번만 실행됩니다.
http://pythontutor.com/visualize.html#mode=display
여기에 코드를 넣고 차례대로 실행해보세요.