[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セグメントコードは@
を用いて関数にレコーダを追加し、出力された関数値を入力するだけでレコーダ関数を自動的に識別できるからである.
Reference
この問題について([TIL]デコレーション(デコレーション)), 我々は、より多くの情報をここで見つけました
https://velog.io/@kimsj5259/TIL-decorator-데코레이터
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
def hello():
print('hello')
def world():
print('world')
trace_hello = trace(hello)
trace_hello()
trace_world = trace(world)
trace_world()
@trace
def hello():
print('hello')
@trace
def world():
print('world')
hello()
world()
Reference
この問題について([TIL]デコレーション(デコレーション)), 我々は、より多くの情報をここで見つけました https://velog.io/@kimsj5259/TIL-decorator-데코레이터テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol