장식 기본 사항

장식용 물건 다른 파라미터 함수 (기능이 장식 될) 장식 핸들러를 장식 할 수있는 호출하고 반환하거나 또는 다른 함수 호출 객체로 대체된다.

당신은 장식의 장식라는 파일이있는 경우 :
@decorate의
 데프 대상 () :
     인쇄 ( ' 대상 ()를 실행 ' )
위의 코드의 효과는 다음 줄과 동일합니다 :
데프 타겟 () :
     인쇄 ( ' 하는 대상 () " ) 
타겟 = 장식 (목표)
동일한 최종 결과의 두 버전 : 타겟 얻어진 두 코드 조각의 실행 완료 후에는 대상의 원래 기능이 아니라, 장식 (목표) 함수 복귀한다.
함수가 장식으로 대체됩니다 확인하기 위해, 예를 7-1 콘솔 세션을 참조하십시오.
   다른 함수로 실시 예 7-1 데코 일반적 여분의 함수
데프 데코 (FUNC)
     DEF 내측 () :
         인쇄 ( ' ()의 내부 실행 ' ) 

    반환 내측 


@deco의 
데프 타겟 () :
     인쇄 ( " 타겟 ()을 실행하는 ' ) 


타겟 () 
인쇄 (목표)
엄밀히 말하면, 데코레이터 구문은 설탕입니다. 이전 바와 같이, 장식 이미지가 다른 인수 함수 인 호출 루틴으로 호출 할 수 있습니다. 때때로, 특히 메타 프로그래밍 시간 (런타임 동작에서 프로그램 변경)을 할, 더 편리합니다.
요약하면, 기능을 주요 기능 데코레이터는 다른 장식 기능을 대체 할 수 있습니다. 두 번째 특징은 장식 모듈 로딩을 즉시 수행된다는 것이다.
 

추천

출처www.cnblogs.com/xiangxiaolin/p/11652858.html