python中的动态函数调用



我可以调用很多可能的函数,但是我并不总是需要调用每个函数。

有没有办法传递我想调用的函数列表,然后动态调用它们?

换句话说:

def GetDate():
    ..does stuff..
    return Date
def GetTime():
    ..does stuff..
    return Time
def GetLocation():
    ..does stuff..
    return Location

List_of_functions_to_call = ["GetDate","GetTime"]
def Call_functions(List = List_of_Functions_to_call):
    for i in List:
        ...????...
        ..# Function would then call GetDate() and GetTime()

你可以做这样的事情:

def main_function(action):
    return { '1': func_a, '2': func_b, '3': func_c, '4': func_d}.get(action)()
def func_a():
    return "a"
def func_b():
    return "b"
def func_c():
    return "c"
def func_d():
    return "d"
if __name__=="__main__":
   print(main_function('1'))

此代码片段按预期打印。

最新更新