実行リスト内の関数を走査しますが、リストから取得した関数名は文字列であるため、型エラーが表示され、文字列オブジェクトを呼び出すことができません。文字列を呼び出し可能なオブジェクトにしたい場合はどうすればよいでしょうか?それとも、変数を通じてモジュール属性とクラス属性を呼び出しますか?これを実現するには 3 つの方法があります
1. eval()
##eval() は通常、文字列式を実行し、式の値を返すために使用されます。ここでは、文字列を対応する関数に変換します。 eval() は強力ですが危険であるため (eval は悪です)、推奨されません。
#2、ローカル() およびグローバル()
##locals() と globals() は Python の 2 つの組み込み関数であり、これらを介してディクショナリ内のローカル変数とグローバル変数にアクセスできます。
3. getattr()getattr() は Python の組み込み関数 getattr(object,name) です。は object.name と同等ですが、ここでは name を変数にすることができます。
foo モジュールの bar メソッドを返します
Foo クラスのプロパティを返します
標準ライブラリ演算子のメソッド呼び出し関数
以上がPythonで関数名の文字列を介してこの関数を呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。