Pythonのデコレータは最初理解するのが難しい。 そして理解したと思っていても実はベストプラクティスな実装ではないという事がしばしばある。 そんな中私が今まで知らなかった functools.wraps とは。 公式ドキュメント @functools.wraps(wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES)(原文) これはラッパー関数を定義するときに update_wrapper() を関数デコレータとして呼び出す便宜関数です。 これは partial(update_wrapper, wrapped=wrapped, assigned=assigned, updated=updated) と等価です。 def hoge_decorator(f): def hoge_wrapper(*args, **kwar
![Pythonのデコレータにはwrapsをつけるべきという覚え書き - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/730946663fcfdd02b8b3f9dc465a6b46fcd4fbd0/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UHl0aG9uJUUzJTgxJUFFJUUzJTgzJTg3JUUzJTgyJUIzJUUzJTgzJUFDJUUzJTgzJUJDJUUzJTgyJUJGJUUzJTgxJUFCJUUzJTgxJUFGd3JhcHMlRTMlODIlOTIlRTMlODElQTQlRTMlODElOTElRTMlODIlOEIlRTMlODElQjklRTMlODElOEQlRTMlODElQTglRTMlODElODQlRTMlODElODYlRTglQTYlOUElRTMlODElODglRTYlOUIlQjglRTMlODElOEQmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTYzNDBhZjlhZDlmMGZiYjk5NzAwZjRmYzc5Y2NiMTIx%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBtb29ud2Fsa2VycG9kYXkmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTIxNzAwZDUyNjY4YTZlYjdiM2I2NTcwMWUwYzdmOWM1%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4gU1FVRUVaRSwgSW5jLg%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%2523212121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3D5b292a897a346e4d7aee880fc6e67487)