文字列名を使用して関数を動的に呼び出す
Python では、特に関数を使用する場合に、関数を動的に呼び出す必要がある状況によく遭遇します。モジュールコードまたは動的に生成された関数。これを実現する 1 つの方法は、関数の名前を保持する文字列を使用することです。たとえば、呼び出したい bar という名前の関数を持つ foo という名前のモジュールがあるとします。
文字列名を使用して関数を動的に呼び出すには、次のように getattr 関数を利用できます。
import foo func_name = "bar" bar = getattr(foo, func_name) result = bar() # calls foo.bar()
getattr 関数は、文字列として名前が指定されたオブジェクトの属性を取得します。この場合、foo モジュールから bar 関数を取得します。次に、取得した参照 (bar) を使用して関数を呼び出すことができます。これは基本的に foo.bar() を呼び出します。
このアプローチにより、動的関数名または不明な関数名を扱うときに柔軟性が得られ、ランタイム ベースで関数を呼び出すことができます。指定された文字列名に対して。これは、メソッド ディスパッチの実装、文字列に基づいた動作のカスタマイズ、モジュールを動的にロードしてその関数を呼び出すなどのシナリオでよく使用されます。
以上が文字列名を使用して Python 関数を動的に呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。