プログラムとか 思ったこととか 徒然ブログ 投稿一覧へ戻る

タグ "decorator" が付いている投稿一覧

【 Effective Python, 2nd Edition 】再帰関数の実行順序をトレースするデコレータを実装しよう - デバック用途にも重宝します!

Tags: Python , Effective , decorator , recursive

Published 2020年6月24日21:04 by T.Tsuyoshi

今回もデコレータに関連する話題ですが、デコレータの詳細については 前回 取り上げましたので、 今回は復習も兼ねながらちょっと面白いプログラムをご紹介します。 このプログラムは、再帰関数 (recursive function) のネスト呼び出し時における実行過程を、各時点の引数と返却値と共に表示するものです。 fibonacci(4) を実行した際の表示は次のようになります。 (フィボナッチ数については wikipedia を参考にしてください ) fibonacci((0,), {}) -> 0 fibonacci((1,), {}) …

【Python 雑談・雑学】 デコレータ (decorators) を理解しよう - デコレータ、オリジナル関数からの引数の渡し方、受け取り方

Tags: Python , miscellaneous , decorator

Published 2020年6月23日21:27 by T.Tsuyoshi

デコレーター (decorators) は関数を引数として受け取り、他の関数に置き換えた上で、最終的にオリジナルの関数を実行します。 他の関数に置き換えることで、オリジナルの関数の機能を補完、変更することが可能になります。 簡単な実装方法からよりジェネリックで現実的な実装方法までを段階を追って見ていきましょう。 ユーザーが admin パーミッションを持っていれば admin サイトへログインするためのパスワードを表示する関数を作成します。 このとき、ユーザーが admin パーミッションを持っているかどうかの判断は他の関数 (これがデコレータになります) に委ねましょう。 1st step - デコレータの基礎となる形 def …