ジョブイテレータデコレータパラメータがあります。

#1、クラスは明日参照デコレータ準備口述を書いて説明します

デフ(DB_TYPEを)のauth:
     デフデコ(FUNC):
         デフ(* argsを、**ラッパーkwargsから): =入力(' あなたの名前>>>:' ).strip()
            PWD =入力(パスワードを>>> :' ).strip()
             の場合 DB_TYPE == ' ファイル' 印刷' 基于文件的验证' であれば名前== ' エゴン'   PWD == ' 123 " 
                    RES = FUNC(* argsを、** kwargsから)
                     復帰RES
             のelif DB_TYPE == ' mysqlの' 印刷' ベースの認証のMySQLの' のelif DB_TYPE == ' LDAP ' 印刷' ベースの認証LDAP ' それ以外印刷サポートされていないDB_TYPE の戻りwarpperの
     リターンデコ

@auth(DB_TYPE = ' ファイル' DEF 指数(X、Y):
     プリント' インデックス>>>%S%S '(X、Y))

@auth(DB_TYPE = ' のMySQL ' DEF 家(名前) :
     プリント(名)

@auth(DB_TYPE = ' LDAP ' DEF (転送):
     プリント' 転送'

  2:私たちは関数オブジェクトの概念を使用するときに来る、来て、それを操作する辞書機能させること、忘れないでください、私たちは、ファイルの先頭の文で大、空の辞書にもっと練習があり、その後、各関数の前にデコレータを追加します自動的に辞書に追加操作を完了

DIC = {}
 DEF add_dicは(キー、値):
     DEF outter(FUNC):
         DEF(*引数、**ラッパーkwargsから):
            DIC [キー] = 
            RES = FUNC(*引数、** kwargsから)
             戻りRESを
         返すラッパー
     リターンoutter 
@add_dic(' 1 '、[ ' ログイン'' 登入' ])
 DEF ログイン():
     合格
(@add_dic ' 2 ' [ 'REGIST ' ' 登録' ])
 DEF REGIST():
     パス
@add_dic(' 3。 '[ ' check_money ' ' 残高照会" ])
 DEFのcheck_money():
     合格
ログイン()
REGIST()
check_money()
印刷(DIC )

関数f1が行われると、メッセージ2017年7月21日11時12分11秒F1ランがログファイルパスを指定することができ、ログ・ファイルに書き込まれ:3などの機能を実現するログデコレータを書きます

インポート

SRC = なし
 デフouutar(FUNC):
     デフラッパー(* argsを、** kwargsから):
         グローバルSRC
         場合 SRC == なし:
            inp_src =入力(' 输入文件路径' 
            SRC = inp_src 
        RES = FUNC(* argsを、 ** kwargsから)
        オープン(inp_srcと' '、コード= ' UTF-8 ' :Fなど)
            f.write(' {} F1ラン' .format(time.strftime(' %Y-M - %%% X-D ' )))
             印刷' 書き込み成功' の戻りRESを
     返すwarpper 
@ouutar 
DEF F1():
     パス
F1()

図4に示すように、反復的に基づいて、値の文字列は、リストは、タプルは、辞書は、ループ反復は、ファイルオブジェクトを設定しながら

DEF (obj_iterator):
     一方TRUE:
         トライプリント(obj_iterator __next__ ())
         を除いて呼び出すとStopIteration:
             破壊
' 123 '__iter__ ())
([。1,2,3] __iter__ ())
({ 1:' '、2 ' B ' }。__iter__ ()) 
(( 1,2,3)。__iter__ ())
({ 1,2,3}。__iter__ ())
オープンと(' A.TXT '' RT '、=コード' UTF-8 ' Fとして):
    (F __iter__())

5、カスタムイテレータは、レンジ機能を実装します

DEF my_range(開始、停止、ステップ= 1 しながら、開始< :ストップ
         降伏開始が
        起動 + = ステップの


ための I  my_range(0,5 ):
     プリント(I)

 

おすすめ

転載: www.cnblogs.com/bk134/p/12560798.html