Serviceを読んで理解し、同意したものとみなします。307件2python初心者です。デコレーターがどういうものなのか、どういった時に必要となるのかが理解できません。例とともに教えていただけたら幸いです。いうデコレータがあります。このデコレータは、たとえば自分で作成した関数が実行にある程度長い時間がかかる(1秒程度)けれども、関数の引数に対して返値がずっと変わらない、あるいは一定期間変わらない場合に使用します。image_dataこんな関数を実装した場合実行に2,3秒くらいかかるかもしれません。この関数に同じURLを何度も指定する可能性があるなら、URLに対する結果をキャッシュしておけば2回目以降の実行は速く返せるはずです。そこで、以下のように書きます。image_dataこれでキャッシュされるようになりました。decoratorを使えば関数の呼び出しに対して処理を付加できます。今回の例では、get_first_imageという関数にキャッシュ機能を付加しました。デコレータは、対象関数の呼び出しに対する結果を変えないのが原則です。デコレータを使えば関数の返値を書き換えたりもできてしまいますが、利用者はそのようは副作用があると混乱するので、やらないほうがよいでしょう。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。