デコレータと時間の関数の計算

!#/ユーザー/ binに/ Pythonの
# - * -コーディング:UTF-8 - * -
#1、
#1 = [1,3]
#1 A = L .__ ITER __()は#ITER(L)に等しい
#プリント( .__次__())
印刷(.__次__())
#2は、デコレータは基本的に機能し、機能は他の機能の追加機能を追加することで、原則:通話を修正することなく、修正機能のソースコードを変更しないが装飾されている機能道
#インポート時間
#DEF Timmer(FUNC):
のDEFのwapper(* argsを、** kwargsから):
#START_TIME = time.time()
#RESの=のFUNC(* argsを、** kwargsから)
#STOP_TIME = time.time( )
#印刷(%(STOP_TIME "時間の関数は、S%であった" - START_TIME))
リターンRESの
#を返すwapper
#@timmer
#CAL DEF(L):
#1 RES = 0
Lで私のために#:
#time.sleep( 0.1)
#1 I = RES +
RESは#返す
#1 RES = CAL(レンジ(20))
印刷(RES)
印刷(「の終わりを.......................... ..................「)
#3、高次関数デコレータ= + +入れ子関数閉鎖
#4、高次関数:関数は、受信されたパラメータの関数です。名前、関数の戻り値は、関数名、である
:#1 DEF fooの()
印刷( "こんにちは張マスター")
テスト(FUNC)DEF#:
印刷(FUNC)#これは印刷FUNCメモリアドレスである
#1のstart_time time.time =()
#time.sleep(2)
#1 FUNC()
#= STOP_TIME time.time()
プリント(%(STOP_TIME "実行時間はS%であった" - START_TIME))
テスト(FOO)
。#5、
DEF fooの番号():
プリント( "FOOでから")
テストDEF(FUNC):
戻りFUNCの
#RES =テスト(FOO)
プリント(RES)
#RES()
テストfooは=(FOO)
印刷#(FOO)
#1のfoo()
#6、
インポート時間
は##のDEFのFOO():
## time.sleep(3)
"FOOから")の##プリント
##位fooの変更せずに、ソースコードを変更せずfooがによって呼び出され
ます。##DEF Timmer(FUNC)
#=#START_TIME time.time()
#FUNCの#()
#=#STOP_TIME time.time()
%(STOP_TIME "時間の関数は%sであった"(の##を印刷- START_TIME))
の##のリターンFUNC
## fooという= Timmer(FOO)
## fooの()
#7、。
#DEF父(名前):
印刷( "父から%S" %名)
#DEF息子():
印刷( "息子から")
のDEFの孫():
印刷( "孫から")
孫()
息子()
父#( "ZD")
印刷( "実行の上端............")
#DEF父(AUTH_TYPE):
(%名"父%Sから")は##を印刷
#DEF息子():
名= "ZS"
印刷(%のAUTH_TYPE "私の父は、S%である")
は##印刷(地元の人々については、())の印刷を#localsこの層は、局所的に変数である
#息子()
の父(「ZD 「)
#8、装飾フレーム
インポート時間
DEF Timmer(FUNC):
DEFのwarpper(*引数、** kwargsから):すべての位置の#*の引数パラメータ代表ユーザーを表すタプルに受信した時刻を渡す** kwargsから値キーかもしれ
#印刷(FUNC)
のstart_time = time.time()
RES =のFUNC(* argsを、** kwargsから)#は、テスト実行されている
STOP_TIME = time.time()
"時間が%sが実行されている"印刷%(STOP_TIME - START_TIME))
リターンRESの
リターンラッパー#は最終的に完了状態を返します
@timmer#= Timmerテスト(試験)に相当する
試験(名前、年齢)DEF:
time.sleep(3)
プリント( "テスト機能は、実行が終了し、名前[%S]年齢[%のS]" %(名前、年齢))
リターン"これは、戻り値のテストである"
@timmer
DEF test1の(名前、年齢、性別):
time.sleep(1)
印刷(「test1の機能の実行が終了され、名前[%s]は[%s]の年齢性別[%S] "%(名前、年齢、性別))
戻り値TEST1あるリターン" "である
#RES = Timmer(テスト)#戻りラッパーアドレス
#RES()#ラッパーを行う()
テスト= Timmer(テスト)
#テスト()
RES =試験( "linhaifeng"、18である)#はwarpper実行され
#プリント(RES)
TEST1( "アレックス"、18が、 "男")
#9、
のDEFのTEST1() :
#time.sleepは、(3)
印刷( "テスト機能は、実行が終了しました。")
#リターン「ねえ、と」
#RES = TEST1()#ブラケットちょうどのみカッコ内の割り当てと機能の印刷戻り値の後に、デフォルトはNoneです、あなたはまた、リストやリターンのプラス文字列または他の値を定義することができ、呼び出し、戻り値は内部現在の関数で記述する必要があります
#プリント(RES)

おすすめ

転載: www.cnblogs.com/zhang-da/p/10972906.html