閉鎖機能やデコレータ

Day12閉鎖機能やデコレータ

閉鎖機能

デフF1():

デフF2():

印刷( "F2機能")

F2を返します

F2 = F1()

閉鎖機能:

パッケージ内部閉鎖機能+変数内部閉鎖機能に閉鎖関数は、両方の機能を一緒にし、その後の形式で戻り値を介して返します

クロージャは、少なくともネストされた関数に沿って機能しなければなりません

デコレーター

デコレータ:装飾(新余分な機能が追加されます)

デコレータ機能は、基本的機能の増加の関数であり、

デコレータ:関数は、機能性を高めるために機能を追加する機能に次の2点に注意してください。

  1. 元のソースコードを変更せずに機能
  2. これは、元の関数呼び出しを変更しません。
def decorators(func):

​       def wrapper(*args,**kwargs):

​        res = func(*args,**kwargs)

​        return res 

return wrapper

レイヤーデコレータ

  1. 装飾的な機能のために、それは本質的機能であります
  2. ソースコードを変更せず
  3. これは、道の呼び出しを変更しません

装飾的なテンプレート

def decorator(func):
    def wrapper(*args,**kwargs):
        res = func (*args,**kwargs)
        return res
    return wrapper
@decorator()

イテレータ導入

反復可能オブジェクトは:__iter__法と呼ばれる反復可能オブジェクトが含まれています

イテレータ:__iter__とイテレータと呼ばれる__next__メソッドが含まれています

ビルダー:yieldキーワードを含む関数は、発電機と呼ばれています

おすすめ

転載: www.cnblogs.com/kaizi111/p/11622426.html