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

回答編集履歴

2

getattrを提示した理由を追記

2021/04/16 23:30

投稿

xail2222
xail2222

スコア1525

answer CHANGED
@@ -8,4 +8,18 @@
8
8
 
9
9
  ```
10
10
 
11
- [リンク](https://stackoverflow.com/questions/3521715/call-a-python-method-by-name)
11
+ [リンク](https://stackoverflow.com/questions/3521715/call-a-python-method-by-name)
12
+
13
+ (追記)
14
+ 呼び出す関数をリストにすると言っても
15
+ クラスなので、インスタンスの実体を作るたびにリストに格納して呼び出すのは
16
+ 非効率な感じがします。
17
+
18
+ また関数で分けずに一まとめにして、パラメーターを使って処理を分ける
19
+ と言うより、処理を分けた方が明瞭化されると思うし
20
+
21
+ 呼び出す関数を振り分ける関数を一つ追加する。というのは
22
+ 関数の名前で処理を示している場合に、関数を指すパラメータは何がいいのかということもあるし
23
+
24
+ と、私の拙い知識で考えてると、確かに実際の用途によって何が最適かは変わってくるかとは思いますが
25
+ クラスの関数の呼び出しはgetattrでもいいんじゃないかと思いました。

1

リンク張った

2021/04/16 23:29

投稿

xail2222
xail2222

スコア1525

answer CHANGED
@@ -6,4 +6,6 @@
6
6
  for i in range(1,5):
7
7
  getattr(T,'test_' + str(i))()
8
8
 
9
- ```
9
+ ```
10
+
11
+ [リンク](https://stackoverflow.com/questions/3521715/call-a-python-method-by-name)