回答編集履歴
1
fix answer
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
> 理由としましては、test4, test5と今後関数が増えていく予定
|
1
|
+
> 理由としましては、test4, test5と今後関数が増えていく予定
|
2
2
|
では,探している
|
3
3
|
> test関数のprintの下にtest2関数を入れる以外で探しております
|
4
4
|
を無視して
|
@@ -6,8 +6,10 @@
|
|
6
6
|
を実現するしかありません.
|
7
7
|
|
8
8
|
```Python
|
9
|
+
from collections.abc import Callable
|
9
10
|
a = 0
|
10
11
|
def test(callback):
|
12
|
+
assert isinstance(callback, Callable), f"`callback` is not Callable, its {type(callback)}"
|
11
13
|
if a == 0:
|
12
14
|
print(location(), a)
|
13
15
|
callback()
|
@@ -28,5 +30,5 @@
|
|
28
30
|
test3_2()
|
29
31
|
test3_3()
|
30
32
|
```
|
31
|
-
`test`関数が共通の処理をもっており,その中の`if`の条件に一致した際に
|
33
|
+
`test`関数が共通の処理をもっており,その中の`if`の条件に一致した際に**可変な関数の実行がしたい**という要件であれば`Callable`を渡すようにしてやればよいでしょう.
|
32
|
-
このように実装すれば,関数が`test4()`, `test5()`と増えていっても,`test()`がどの
|
34
|
+
このように実装すれば,関数が`test4()`, `test5()`と増えていっても,`test()`がどのCallableを受け取るかは`test3_2()`, `test3_3()`次第なので,要件が満たされているはずです.
|