わからないこと
以下のようなコードを定義した際に、任意の文字列と定義済み関数名を同じ値にし関数を呼び出す方法
python3
1import unittest 2 3class MyTestCase(unittest.TestCase): 4 def test_something(self): 5 self.assertEqual(True, True) 6 # eval('f')() 7 8 def john(self): 9 print('john') 10 11 def f(self): 12 print(123) 13 14 15if __name__ == '__main__': 16 unittest.main() 17
classがない場合であれば以下のように実行できた
python3
1def f(): 2 print(123) 3 4 5def b(): 6 # locals()['f']() 7 gf = globals() # グローバル 8 lf = locals() # ローカル 9 10eval('f')()
どたかご教示いただけると幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/11/08 17:09
2019/11/09 03:03
退会済みユーザー
2019/11/09 07:52
2019/11/09 07:58
2019/11/09 07:59
退会済みユーザー
2019/11/10 14:05