[TIL]デコレーション(デコレーション)


Decorator


最初のプロジェクトで登録の承認を実現するために,テンプレートを見て,どのように実現するかの登録レコーダが足りないことに気づき,レコーダをより深く学習することにした.
Definition:
デコレーションなので、デコレーションの意味で関数をデコレーションするので、デコレーション師です.関数を変更せずに追加機能を実現するために使用します.(ex,ログインなど)は,"@"で記述された関数を呼び出す.

コード1:



コード2:



以上の2つのコードから,出力値は同じであるが,呼び出し命令は異なる.
1番:
def hello():
  print('hello')
def world():
  print('world')
  
trace_hello = trace(hello)
trace_hello()
trace_world = trace(world)
trace_world()
2番:
@trace
def hello():
  print('hello')
@trace
def world():
  print('world')

hello()
world()
なぜなら、第2セグメントコードは@を用いて関数にレコーダを追加し、出力された関数値を入力するだけでレコーダ関数を自動的に識別できるからである.