python - 在 Python 中将函数设置为 dict 值并传递参数
问题描述
我想在 Python 中创建类似“Switch case”对象的东西,我正在使用一个字典,我希望它在我的代码中使用密钥时调用一个函数。
这是代码
def main():
switch = {
1: incSearch(),
2: bisec()
}
switch.get(input(), lambda: print('Invalid option'))
问题来了,每次我运行我的脚本时,它都会自动执行第一个方法,而不需要用户输入
解决方案
在字典中存储时,您应该使用函数的名称而不调用它:
switch = {
1: incSearch,
2: bisec
}
您还应该在从字典中获取该函数后调用该函数:
switch.get(input(), lambda: print('Invalid option'))()
推荐阅读
- omnet++ - venes_hetvnet 项目路径和变量错误
- python - 如何控制 matplotlib 中的轴标签?
- python - 尝试获取公会角色时出现 Discord API 401 未经授权的错误
- python - Tweepy search_full_archive() missing 2 required positional arguments: 'label' and 'query'
- java - 如何创建一个包含多个可以执行操作的方法的类,该类可以接收 int、double、float、long、short 的数组列表
- audio - FFmpeg:连接 .webm 文件有些是视频只有一些音频只有一些两者都有
- amazon-web-services - Terraform,如果变量为空,则添加条件以使用不同变量的方法
- javascript - 使用带有嵌入式 Qualtrics 变量的 Javascript
- python - Google CloudFunctions:ContextVar 与 Global Var
- sql - Oracle BIP OOTB SQL 返回 ORA-01427:单行子查询返回多于一行