ホームページ >バックエンド開発 >Python チュートリアル >名前を文字列として使用して Python 関数を動的に呼び出すにはどうすればよいですか?

名前を文字列として使用して Python 関数を動的に呼び出すにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-04 02:50:37359ブラウズ

How Can I Call a Python Function Dynamically Using Its Name as a String?

文字列名による関数の呼び出し

文字列に格納された名前を使用して関数を動的に呼び出す必要があるシナリオがあると想像してください。これは、非常に動的な環境やメタプログラミングが関与するシナリオで発生する可能性があります。 Python でこれにアプローチする方法は次のとおりです:

重要なテクニックは Python の getattr 関数にあります。これを使用すると、文字列として名前を指定したオブジェクトから属性またはメソッドを取得できます。モジュールの関数を動的に呼び出すには:

import foo
func_name = "bar"
bar = getattr(foo, func_name)
result = bar()

この例では、関数バーを持つモジュール foo を想定しています。 getattr(foo, 'bar') は bar 関数参照を取得します。 result = bar() を呼び出すと関数が実行され、その出力が result に格納されます。

特に、getattr はモジュールレベルの関数だけでなく、クラス インスタンス、クラス メソッドなどにも使用できます。その多用途性により、Python の動的機能をナビゲートするための不可欠なツールとなっています。

以上が名前を文字列として使用して Python 関数を動的に呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。