小演習2

#1 試験機能実行時間デコレータ例示的な
インポート時間
 DEF timing_func(FN):
     DEF warpper():
        スタート = time.time()を
        FN()   、着信パラメーターを実行FN 
        STOP = time.time()
         リターン(STOP - スタート)
     リターンwarpper 
@timing_func 
DEF test_list_append():
    LST = []
     のための I におけるレンジ(0,100000 ):
        lst.append(I)   
@timing_func 
DEF test_list_compre():
    [I について I範囲(0,100000)]   リストの式 
A = test_list_append()
C = test_list_compre()
 プリント" テスト追記時間リスト:" 、A)
 プリント" テストリスト内包時間:" 、C)
 プリント" アペンド/ COMPRE:"、ラウンド(/ C、3 ))

テストリストアペンド時間: 0.0219423770904541 
テストリスト内包時間: 0.007980823516845703 
追記 / COMPRE:2.749 

2.統計的異常の発生と時間デコレータ
書き込みデコレータ、統計例外を繰り返し、長時間の経験の数を指定したとき。
インポート時間
 インポート数学DEF excepter(F): I = 0、T1 = time.time()DEF ラッパー():トライ:F()以外例外:eと非局所II + = 1枚のプリント(F ' {e.args [ 0を] } {I } ')T2 = time.time()かどう== N:プリント(F ' 費やす時間:{ ラウンド(T2 -T1、2)} 「)リターンラッパー




3定制递减迭代器
#0の時まで、1の正の整数を達成するために、降順に、ループによって、反復子を書く
 クラス降順(イテレータ): DEF __init __(自己、N):self.n = Nのself.a = 0 DEF __iter__ (自己):リターン自己DEF __next __(自己):しばらくself.a < self.n:self.n - = 。1つのリターンself.n 昇給を呼び出すとStopIterationのdescend_iter = 降坂(10)印刷(一覧(descend_iter))[ 9、8 、7、6、5、4、3、2、1、0]

 

おすすめ

転載: www.cnblogs.com/miaoweiye/p/12613679.html