Day12閉鎖機能やデコレータ
閉鎖機能
デフF1():
デフF2():
印刷( "F2機能")
F2を返します
F2 = F1()
閉鎖機能:
パッケージ内部閉鎖機能+変数内部閉鎖機能に閉鎖関数は、両方の機能を一緒にし、その後の形式で戻り値を介して返します
クロージャは、少なくともネストされた関数に沿って機能しなければなりません
デコレーター
デコレータ:装飾(新余分な機能が追加されます)
デコレータ機能は、基本的機能の増加の関数であり、
デコレータ:関数は、機能性を高めるために機能を追加する機能に次の2点に注意してください。
- 元のソースコードを変更せずに機能
- これは、元の関数呼び出しを変更しません。
def decorators(func):
def wrapper(*args,**kwargs):
res = func(*args,**kwargs)
return res
return wrapper
レイヤーデコレータ
- 装飾的な機能のために、それは本質的機能であります
- ソースコードを変更せず
- これは、道の呼び出しを変更しません
装飾的なテンプレート
def decorator(func):
def wrapper(*args,**kwargs):
res = func (*args,**kwargs)
return res
return wrapper
@decorator()
イテレータ導入
反復可能オブジェクトは:__iter__法と呼ばれる反復可能オブジェクトが含まれています
イテレータ:__iter__とイテレータと呼ばれる__next__メソッドが含まれています
ビルダー:yieldキーワードを含む関数は、発電機と呼ばれています