我正在尝试使用函数式编程来创建一个字典,其中包含一个键和一个要执行的函数:
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")
我认为使用检查模块,但我不太确定如何做到这一点。
我避免的理由:
def ExecPn():
pass
myDict["Pn"]=ExecPn
我必须保护代码,因为我正在使用它来在我的应用程序中提供一个脚本特性。