首页 > 解决方案 > 在 Python 中将函数设置为 dict 值并传递参数

问题描述

我想在 Python 中创建类似“Switch case”对象的东西,我正在使用一个字典,我希望它在我的代码中使用密钥时调用一个函数。

这是代码

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

问题来了,每次我运行我的脚本时,它都会自动执行第一个方法,而不需要用户输入

标签: python

解决方案


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

switch = {
    1: incSearch,
    2: bisec
}

您还应该在从字典中获取该函数后调用该函数:

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

推荐阅读