파이썬 보편적 인 장식을 작성하는 방법, 두 장식 방법은 매개 변수를 가지고, 당신은 또한 인수가없는 방법을 장식하거나, 반환 값은 장식 할 수 있는지 여부

파이썬 장식에, 당신은 매개 변수, 반환 값을 가질 수 있도록하는 방법이 두 장식 장식에는 반환 값 방법이없는 인수없이, 그리고 메소드가 리턴 값이 될 수 또는 매개 변수를 꾸밀 수있다? 다음과 같이 보편적 장식가있다 :

DEF (시험) 장식 #이 함수를 정의 장식

데프 대담한 (* 인수, ** kwargs로는 ) : # * 인수는 , 임의 수의 매개 변수가 나타날 수 있습니다

# ** 인수는 매개 변수 사전의 복수 중 하나가 나타날 수 있습니다

( '스타일 = "blod 글꼴 무게를"') 인쇄

고해상도 = 시험 (* 인수, ** kwargs로) # 개 들이 장식되어 있더라도 쓰기, 테스트 기능은 전혀 없습니다

# 반환 값없이 불평하지 않습니다하지 않습니다.

#test 고해상도를 돌려주는 함수가 반환은 반환에 값을 더 리턴 없음

굵은 반환

위의 코드가 완료 될 때 파이썬 표현 보편적 장식, (* 인수, ** kwargs로를 모든 유형의 매개 변수의 수를 수신 할 수있다), 값이 더 수익있을 수 없다 반환 . 수정 인쇄 자신의 원하는 기능에 대한 문장을, 그것은 그들의 보편적 인 장식입니다. 그 결과, 당신은 임의의 기능을 장식하실 수 있습니다.

어떤 기능을 사용하면 위의 코드를 테스트합니다 :

@decorate # 장식 값을 반환하지 않는 인수를 방법 없다

데프 TEST1 () :

( "TEST1 인쇄 인수는 어떤 값도 반환하지 않는다 ")     

 

@decorate # 장식 파라미터 방법의

데프 TEST2 (이름) :

인쇄 ( "TEST2 : 매개 변수 % s에"% 이름)

 

@decorate # 장식은 방법의 값을 반환

데프 TEST3 () :

        strs = "TEST3 : 리턴 값 "

        반환 strs

 

TEST1 () #의 결과 :    스타일 = "글꼴 - 무게 : blod"

TEST1 : 매개 변수없이, 더 리턴 값 없습니다

TEST2 ( "SS") #의 결과 :    스타일 = "글꼴 - 무게 : blod"

TEST2 : 매개 변수 SS

테스트 3 A = ()

(A) #의 인쇄 결과 :     스타일 = "글꼴 - 무게 : blod을"

TEST3 : 반환 값

추천

출처www.cnblogs.com/sy-zxr/p/12054068.html