Я пытаюсь использовать функциональное программирование для создания словаря, содержащего ключ и функцию для выполнения:
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"] () # это вызовет ExecP1 ()
Моя настоящая проблема в том, что у меня есть тонны этих элементов, и я создаю библиотеку, которая будет их обрабатывать, поэтому Конечному пользователю нужно только вызвать myMain ("P1")
Я думаю, используя модуль проверки, но я не уверен, как это сделать.
Причина, по которой я избегаю:
def ExecPn():
pass
myDict["Pn"]=ExecPn
заключается в том, что я должен защищать код, поскольку я использую его для обеспечения возможности создания сценариев в моем приложении.