回答編集履歴

1

追記

2021/06/04 14:04

投稿

LouiS0616
LouiS0616

スコア35662

test CHANGED
@@ -25,6 +25,22 @@
25
25
  mod = make_file_operation(lambda p: print(f'{p}の要素を修正'))
26
26
 
27
27
  del_ = make_file_operation(lambda p: print(f'{p}の要素を削除'))
28
+
29
+ ```
30
+
31
+
32
+
33
+ **追記**:
34
+
35
+ コメントでactorbugさんがご指摘のように、デコレータを使った方が読み良いです。
36
+
37
+ ```Python
38
+
39
+ @make_file_operation
40
+
41
+ def add(p):
42
+
43
+ print(f'{p}に要素を追加')
28
44
 
29
45
  ```
30
46
 
@@ -82,6 +98,30 @@
82
98
 
83
99
 
84
100
 
101
+ **追記**:
102
+
103
+ contextlibなんてものもあります。簡潔に書けて便利。
104
+
105
+ ```Python
106
+
107
+ import contextlib
108
+
109
+
110
+
111
+ @contextlib.contextmanager
112
+
113
+ def XmlContextManager(path):
114
+
115
+ print(f'{path}を開きます')
116
+
117
+ yield
118
+
119
+ print(f'{path}を閉じます')
120
+
121
+ ```
122
+
123
+
124
+
85
125
  ---
86
126
 
87
127
  ただし必要以上に抽象化するとメンテナンスがめんどくさいのでご注意を。