回答編集履歴

1

fix answer

2023/01/09 09:32

投稿

ps_aux_grep
ps_aux_grep

スコア1579

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`の条件に一致した際に様々な関数実行がしたいという要件であれば`Callable`を渡すようにしてやればよいでしょう.
33
+ `test`関数が共通の処理をもっており,その中の`if`の条件に一致した際に**可変な関数実行がしたい**という要件であれば`Callable`を渡すようにしてやればよいでしょう.
32
- このように実装すれば,関数が`test4()`, `test5()`と増えていっても,`test()`がどの関数を受け取るかは`test3_2()`, `test3_3()`次第なので,要件が満たされているはずです.
34
+ このように実装すれば,関数が`test4()`, `test5()`と増えていっても,`test()`がどのCallableを受け取るかは`test3_2()`, `test3_3()`次第なので,要件が満たされているはずです.