タグ

decoratorに関するkomagataのブックマーク (2)

  • Python decorator

    python のデコレーター構文 @decorate 解り難い @decorate 構文 Python のデコレーターは理解するのが厄介です。Python のデコレーターは syntax sugar の機能と closure の機能の二つを使って関数オブジェクトを修飾する構文です。でも closure の概念がない C/C++Java などの 言語から python も使うようになった者に、三重にネストした関数と @decorator 構文を組み合わせたコード例を使って解説されたのでは脳みそが沸騰するだけです。 私は @decorator を使ったコード例の python virturla machine コードを追跡することで、やっとこさデコレーターを理解しました。私の味わされた苦労を軽減してもらうため、この web page をまとめてみます。 デコレーターを理解した後で考え直し

  • Python のデコレータ式 (1)

    1. デコレータの仕組みについて知りたい Python を使っていて、これまでに所々でデコレータを目にしてきた。 関数のネストと f()() 可変引数 クラスメソッド – デコレータ @classmethod, @staticmethod を使って デコレータの仕組みについて理解してないので、そろそろ確認しておくことにする。 デコレータと等価な関数定義 7.5 関数定義 には、デコレータを使った関数定義と、それと同等の式の例が書かれている。 関数定義は一つまたは複数のデコレータ式 (decorator expression) でラップできます。… 例えば、以下のようなコード: @f1(arg) @f2 def func(): pass は、 def func(): pass func = f1(arg)(f2(func)) と同じです。 これを元に、いくつか例を考えてみる。 2. デコレー

  • 1