teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

追記

2018/08/10 02:39

投稿

sequelanonymous
sequelanonymous

スコア123

title CHANGED
File without changes
body CHANGED
@@ -80,4 +80,33 @@
80
80
  --start--
81
81
  Hello Decorator
82
82
  --end--
83
+ ```
84
+
85
+
86
+ この def wrapper()をデコレーターにすると(@wraps(func))どういうメリットがあるのでしょうか?
87
+ @wraps(func)
88
+ 発展型の理解
89
+ ---
90
+ ```
91
+ from functools import wraps
92
+
93
+ def validation_objecs(func):
94
+ @wraps(func)
95
+ def wrapper(request):
96
+     ....
97
+    ....
98
+    ....
99
+ return func(request)
100
+ return wrapper
101
+
102
+ ....
103
+ ....
104
+ ....
105
+
106
+
107
+ @validation_objecs
108
+ def start_batch(request):
109
+       ....
110
+    ....
111
+    ....
83
112
  ```

1

追記

2018/08/10 02:39

投稿

sequelanonymous
sequelanonymous

スコア123

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  **このようなサンプルコードをよく見かけますが、出力が同じでargsとkwargsのある意味がわかりません。
2
2
  なんとなく、雰囲気でみなさん書いているのか、もしくは僕の理解が間違っているのか気になるのでご確認させてください。
3
- 個人的には、argsとkwargsはなくていいと思っています。さらに、コード内で入れ子にして def wrapper(): を記載する必要があるのかも疑問です、意図が理解できる方はおしえていただけませんか?**
3
+ 個人的には、argsとkwargsはなくていいと思っています。さらに、コード内で入れ子にして def wrapper(): を記載する必要があるのかも疑問です、意図が理解できる方はおしえていただけませんか?何の確認のために記載するかわかりませんが、仮になにか確認のためにdef wrapper(): を書いているとしたら、どんな時にこういうコードを実際の開発でかきますか?**
4
4
 
5
5
 
6
6
  **argsとkwargsの理解は以下です。**