モジュールの名前(文字列)を使用してモジュールの関数を呼び出す 質問する

モジュールの名前(文字列)を使用してモジュールの関数を呼び出す 質問する

関数名を含む文字列を使用して関数を呼び出すにはどうすればよいでしょうか? たとえば、次のようになります。

import foo
func_name = "bar"
call(foo, func_name)  # calls foo.bar()

ベストアンサー1

fooメソッドを持つモジュールが与えられた場合bar:

import foo
bar = getattr(foo, 'bar')
result = bar()

getattr同様に、クラスインスタンスにバインドされたメソッド、モジュールレベルのメソッド、クラスメソッドなどにも使用できます。

おすすめ記事