Использование словаря для выбора функции для выполнения

Я пытаюсь использовать функциональное программирование для создания словаря, содержащего ключ и функцию для выполнения:

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

заключается в том, что я должен защищать код, поскольку я использую его для обеспечения возможности создания сценариев в моем приложении.

40
задан jonrsharpe 19 April 2017 в 14:48
поделиться