먼저 파이썬 장식이 무엇인지, 어떻게 작동 하는지를 배웠습니다. 그리고 나는 같은 것을 할 싶습니다함수를 호출 할 때까지 데코레이터를 지연시킬 수 있습니까?
def age_over_18(go_enjoy_yourself):
def go_home_and_rethink_your_life():
return 'So you should go home and rethink your life.'
return go_enjoy_yourself if age_stored_somewhere > 18 else go_home_and_rethink_your_life
@age_over_18
def some_porn_things():
return '-Beep-'
하지만 함수가 첫번째 실제로 아무것도하지 않는 것이 기능을 의미 파이썬, 읽을 때 장식이 실행되는 것을 발견했다.
나는 내가 좋아하는 뭔가를 쓸 수 있습니다 알고
def some_porn_things():
if age_stored_somewhere > 18:
...
else:
...
하지만 난 그냥 장식이 우아하고 이해하기 쉬운 생각, 그래서 질문은 :
는는 내가 될 때까지 발생하는 장식을 지연 할 수 함수를 호출합니까?
참고 : 장식자는 일반적으로 그렇게 만들지 않습니다. @DanielRoseman의 대답은 평소에 보았던 데코레이터의 유형입니다. – jamylak