@修飾子
680 ワード
あまり話さないでコードをつけて、簡単に使い方を説明します.
以上のコードを実行し、出力を得る
ここでは@解釈器の使い方を説明し,関数を修飾器関数のパラメータとして伝達する.
2つのモディファイヤを使ってみましたが、使い方は以下の通りです.
出力は
ここまで試してみると、なぜ@修飾子が必要なのか、pythonの関数自体がパラメータとして関数を入力できるため、例えば最初の例を次のコードに変更することができます.
いくつかの資料を調べて、原因はaopの思想と関係があるべきで、深く研究していないで、穴を埋めて、時間があって深く掘ります.
def a(fun):
fun()
@a
def fn():
print(12)
以上のコードを実行し、出力を得る
12
ここでは@解釈器の使い方を説明し,関数を修飾器関数のパラメータとして伝達する.
2つのモディファイヤを使ってみましたが、使い方は以下の通りです.
def a(fun):
print('a')
fun()
return fun
def b(fun):
print('b')
fun()
@b
@a
def fn():
print(12)
出力は
a
12
b
12
ここまで試してみると、なぜ@修飾子が必要なのか、pythonの関数自体がパラメータとして関数を入力できるため、例えば最初の例を次のコードに変更することができます.
def a(fun):
fun()
def fn():
print(12)
a(fn)
いくつかの資料を調べて、原因はaopの思想と関係があるべきで、深く研究していないで、穴を埋めて、時間があって深く掘ります.