2015-04-06 22 views
0
def function1(arguments): 
    print("Function 1",arguments) 

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

userInput = input() 

用户是否可以输入函数和参数以及所述函数是否可以运行。例如,用户输入函数2(的“Hello World”)来自输入变量的调用函数

回答

1

虽然你可以随时使用eval,使这项工作,但对于原因的eval是邪恶的,最好是用字典回拨机制,特别是

你可以创建字典的功能与名称结合,用适当的参数

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

叫他们假设你提供一个输入如下function2, "Hello World"

首先需要分割数据userInput = userInput .split(',')并通过字典将其传递到回调函数中

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