この質問がすでに提起され、回答されている場合は、お詫び申し上げます。私がしなければならないことは概念的には非常に単純ですが、残念ながらオンラインで答えを見つけることができませんでした.
実行時にカスタム名を使用して Python (Python2.7) で動的関数を作成する必要があります。各関数の本体も実行時に構築する必要がありますが、すべての関数で (ほぼ) 同じです。
名前のリストから始めます。
func_names = ["func1", "func2", "func3"]
func_name リストは任意の名前のリストを保持できるため、単に func1、func2、func3 などの名前にはならないことに注意してください。
結果を次のようにしたい:
def func1(*args):
...
def func2(*args):
...
def func3(*args):
...
これを行う必要があるのは、各関数名が外部から呼び出されるテスト ケースに対応するためです。
update : ユーザー入力はありません。はるかに大きなモジュールの両端を結びます。一方の端では、テスト ケースが何であるかを判断し、とりわけ、テスト ケースの名前のリストを設定します。もう一方の端は関数自体であり、テスト ケースの名前と 1 対 1 でマッピングする必要があります。したがって、テスト ケースの名前がわかり、各テスト ケースで何をしたいのかがわかります。必要なのは、テスト ケースの名前を持つ関数を作成することだけです。テスト ケースの名前は実行時に決定されるため、これらのテスト ケースに基づく関数の作成も実行時に行う必要があります。
update : このカスタムの名前付き関数をクラスにラップすることもできます。
関数の内容を (ほとんど同じであるため) 文字列にハードコーディングするか、以前に定義された基本クラスに基づいて作成することができます。このコンテンツを関数に入力する方法を知る必要があります。
例えば:
func_content = """
for arg in args:
print arg
"""
前もって感謝します、
マフディ