Python Decorator(3)
レコーダの閉じた機能を理解するために使用
既存の叙述内容と重複可能
いわゆる「コピー機能」で使用される関数を閉じた関数と呼びます 関数およびその関数が所有するローカルデータを複製および格納し、単独で使用する方法(第1のクラスの関数と同じ) .テクニック 親関数のローカル変数値とネスト関数を使用できます.親関数が消えても
Closureオブジェクト と同様通常必要な機能(メソッド)が少ない場合は、クラスではなく「クローズド」も使用されます.
既存の叙述内容と重複可能
いわゆる「コピー機能」
def outer_func(num):
# 중첩 함수에서 외부 함수의 변수에 접근 가능
def inner_func():
print(num)
return '안녕'
return inner_func # 중첩 함수 이름을 리턴
closure_func = outer_func(10) # <--- First-class function
closure_func() # <--- Closure 호출
いつClosureを使いますか?def calc_square(digit):
return digit * digit
def calc_power_3(digit):
return digit * digit * digit
def calc_quad(digit):
return digit * digit * digit * digit
""" 위의 3가지 함수를 클로저로 구현하면 아래와 같이 구현할 수 있다. """
def calc_power(n):
def power(digit):
return digit ** n
return power
power2 = calc_power(2)
power3 = calc_power(3)
power4 = calc_power(4)
power2(2)
power3(2)
power4(2)
Reference
この問題について(Python Decorator(3)), 我々は、より多くの情報をここで見つけました https://velog.io/@tkjung/파이썬-데코레이터3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol