2015-04-06 44 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])