エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Python: デコレータとコンテキストマネージャの両方として動作する API の作り方 - CUBE SUGAR CONTAINER
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Python: デコレータとコンテキストマネージャの両方として動作する API の作り方 - CUBE SUGAR CONTAINER
以前、仕事でデータベースのトランザクションを管理する Python の API を考えているときに、同僚と「デ... 以前、仕事でデータベースのトランザクションを管理する Python の API を考えているときに、同僚と「デコレータで作るべき」「いやコンテキストマネージャの方が扱いやすい」みたいなやり取りをしたことがあった。 でも、今考えるとどちらとしても動作するように作っておけばよかったんだよね。 ということで、今回はデコレータとしても動作するしコンテキストマネージャとしても動作するような API を作る方法について書くことにする。 補足しておくと、デコレータもコンテキストマネージャも対象となる処理の前後に特定の処理を挿入できるというところに共通点がある。 今回紹介する内容も、対象となる処理の前後に特定の処理を挿入するというものになっている。 サンプルコードその一 以下のサンプルコードでは、clamp() 関数がデコレータとしてもコンテキストマネージャとしても動作するように作られている。 clamp