タグ

ブックマーク / qiita.com/dou_nika_naru (1)

  • Pythonのデコレータを作って理解する - Qiita

    Pythonでは関数は第一級オブジェクトとして扱われるので、関数を引数にとったり、返り値として返すことができます。 つまり、ここではfugaという関数をつくり、そのfugaを関数を引数にとるhogeに渡して、hogeから返ってきた関数をfugaに割り当てているわけです。 すべてのデコレータはこのような糖衣構文であると理解して問題ないと思います。 基のデコレータをつくる 上の説明をもとに基的なデコレータをつくってみます。 def decorator(function): # 関数を引数にとる def retfunc(*args): # うけとった関数を使いながらいろんな処理をする関数をつくる print("デコレートされたよ") return function(*args) # デコレートされる関数 return retfunc # つくった関数を返す @decorator def fu

    Pythonのデコレータを作って理解する - Qiita
  • 1