在字典中执行函数| Python 3

时间:2017-11-13 12:43:46

标签: python dictionary

所以我在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>

1 个答案:

答案 0 :(得分:4)

Python将函数视为可以传递并存储在列表和词典中的对象。要实际调用该函数,您需要在对象后使用括号。

在你的情况下val chatObject: Any = ... 返回函数对象,因此它将变为

myOperators.get(user_input)