在Python中将函数设置为dict值并传递参数

在Python中将函数设置为dict值并传递参数,python,Python,我想在Python中创建一个类似于“Switch case”的对象,我使用一个dict,希望它在代码中使用键时调用一个函数 这是密码 def main(): switch = { 1: incSearch(), 2: bisec() } switch.get(input(), lambda: print('Invalid option')) 问题在于,每次我运行脚本时,它都会自动执行第一个方法,而不允许用户输入在字典中存储时,您应该使

我想在Python中创建一个类似于“Switch case”的对象,我使用一个dict,希望它在代码中使用键时调用一个函数

这是密码

def main():
    switch = {
        1: incSearch(),
        2: bisec()
    }  
    switch.get(input(), lambda: print('Invalid option'))

问题在于,每次我运行脚本时,它都会自动执行第一个方法,而不允许用户输入

在字典中存储时,您应该使用函数名而不调用它:

switch = {
    1: incSearch,
    2: bisec
}
从dict获取函数后,还应调用该函数:

switch.get(input(), lambda: print('Invalid option'))()

您正在调用函数,只是忘了删除
()
。我最终还是这样使用它,我使用的是函数名,但现在如何将参数传递给函数?我找不到合适的方法。您可以添加参数,这些参数将发送到最后括号中的每个函数。