python - 如何从 switch case 调用方法?
问题描述
我试图在我的工具中实现一个菜单。但我无法在 python 中实现 switch case。我知道python只有字典映射。如何在这些 switch 案例中调用参数化方法?例如,我有这个程序
def Choice(i):
switcher = {
1: subdomain(host),
2: reverseLookup(host),
3: lambda: 'two'
}
func = switcher.get(i, lambda:'Invalid')
print(func())
在这里,我无法执行参数化调用subdomain(host)
。请帮忙。
解决方案
我认为问题是因为在switcher
创建字典时调用了前两个函数。您可以通过使所有值lambda
函数定义如下所示来避免这种情况:
def choice(i):
switcher = {
1: lambda: subdomain(host),
2: lambda: reverseLookup(host),
3: lambda: 'two'
}
func = switcher.get(i, lambda: 'Invalid')
print(func())
推荐阅读
- php - 使用多个参数重写 URL 时找不到页面
- haskell - 为什么 GHCi 在此实例声明中报告“约束必须是单型”?
- php - 来自 AWS Launch Configuration 的用户数据未执行 Composer 安装
- sql - 根据在 Oracle SQL 中输入的日期获取 ID 的值
- c# - 是否可以在机器人中具有导出到 excel 按钮?
- angular - 离子不更新视图中的变量
- python - 尝试在 Python 上制作 Snake 游戏。我在哪里下载光标扩展
- java - 变量“double”给我错误,程序正在执行无限循环?
- ios - 隐藏某个表格行 - Swift 4
- excel-formula - 需要公式:复制单元格,省略项目前后的文本