関数型プログラミングを使用して、実行するキーと関数を含む辞書を作成しようとしています:
myDict={}
myItems=("P1","P2","P3",...."Pn")
def myMain(key):
def ExecP1():
pass
def ExecP2():
pass
def ExecP3():
pass
...
def ExecPn():
pass
さて、モジュールで定義された関数を見つけるために使用されるコードを見てきました。次のようなことをする必要があります。
for myitem in myItems:
myDict[myitem] = ??? #to dynamically find the corresponding function
私の質問は、すべてのExec
関数のリストを作成し、辞書を使用してそれらを目的の項目に割り当てるにはどうすればよいですか? だから最後に私はmyDict["P1"]() #this will call ExecP1()
私の本当の問題は、それらのアイテムがたくさんあり、それらを処理するライブラリを作成して、最終ユーザーが呼び出すだけでよいことです。myMain("P1")
inspect モジュールを使用していると思いますが、その方法がよくわかりません。
避けるべき私の理由:
def ExecPn():
pass
myDict["Pn"]=ExecPn
アプリケーション内でスクリプト機能を提供するためにコードを使用しているため、コードを保護する必要があるということです。