Python
1 2class test: 3 def test_1(self): 4 print(1) 5 6 def test_2(self): 7 print(2) 8 9 def test_3(self): 10 print(3) 11 12 def test_4(self): 13 print(4) 14 15 16 17if __name__ == '__main__': 18 T = test() 19 T.test_1() 20 T.test_2() 21 T.test_3() 22 T.test_4() 23
このT.test_i()とかいちいち変数名を書いている部分をfor文で呼び出すのに、
Python
1if __name__ == '__main__': 2 T = test() 3 for i in range(4): 4 trgfunc = "T.test_" + str(i+1) + "()" 5 eval(trgfunc)
としました。これで一応動くのですが、trgfunc = "T.test_" + str(i+1) + "()"
とか、いまいち綺麗じゃないのですが、こんなものでしょうか?
変数を使っての関数の呼び出し方、もう少し綺麗なやり方はないでしょうか?
実際のコードでもtest_で始まる名前なのか? 何をするコードのなのか(なんのためのclassなのか)?
あたりが書かれてないと一般論として”それはよくない"という回答が集まりやすくなってしまいます。
XY問題とはなんですか https://ja.meta.stackoverflow.com/questions/2701/
回答4件
あなたの回答
tips
プレビュー