所以我在python 3.6中创建一个程序,根据user_input
选择并执行一个特定的函数。
代码可以正确地决定执行哪个函数,而不是实际执行它。这些功能也可以使用
def addition():
1+1
user_input = input("What operator do you wish to use?")
myOperators = {"Addition":addition}
if user_input in myOperators:
myOperators.get(user_input)
使用此代码,函数addition()
永远不会执行。但是,我可以检查它是否选择了正确的值,因为如果我这样做:
if user_input in myOperators:
print(myOperators.get(user_input))
打印<function addition at 0x7f0973026620>
答案 0 :(得分:4)
Python将函数视为可以传递并存储在列表和词典中的对象。要实际调用该函数,您需要在对象后使用括号。
在你的情况下val chatObject: Any = ...
返回函数对象,因此它将变为
myOperators.get(user_input)