从输入变量调用函数

Calling function from input variable

def function1(arguments):
    print("Function 1",arguments)

def function2(arguments):
    print("Function 2",arguments)

userInput = input() 

用户是否可以输入函数和参数并将所述函数输入 运行。例如,用户输入 function2("Hello World")

虽然你总是可以使用 eval 来完成这项工作,但由于 eval 是邪恶的原因,最好使用字典回调机制,特别是

您可以创建一个字典来将函数与名称绑定并使用适当的参数调用它们

call_backs = {'function1': function1, 'function2': function2}

假设您提供如下输入 function2, "Hello World",

首先需要将数据拆分userInput = userInput .split(','),通过字典传给回调函数

call_backs[userInput[0]](userInput[1])