python - “默认”条件语句的 Pythonic 方式?
问题描述
我有一个具有多个级别的 if-elif-else 结构,但最后一级else
始终是相同的语句:
if statement1:
if something:
do_thing()
elif something_else:
if something_something:
do_thing_something()
elif somethingg:
do_thingg()
else:
do_default()
else:
do_default()
else:
do_default()
如您所见,我使用do_default()
了3次,我觉得有更好的方法。这基本上是其他语言的default
inswitch-case
语句,但 Python 没有switch-case
. 我想知道是否有任何其他方法可以更优雅/“Pythonically”解决这个问题?或者是使用 dicts 或实现我自己的唯一方法switch-case
?
解决方案
您可以尝试取消嵌套条件:
if statement1 and something:
do_thing()
elif statement1 and something_else and something_something:
do_thing()
elif statement1 and something_else and somethingg:
do_thingg()
else:
do_default()
推荐阅读
- java - java.lang.VerifyError:堆栈映射与异常处理程序中的不匹配
- python - 单元测试——测试一个类的方法
- php - 为什么这个 php 代码不会产生任何错误?
- java - 将非静态变量更改为静态变量
- unix - 交叉引用来自不同文件的两列并为每个值打印一个新文件时提取数据
- python - 将模型与 Keras 的功能 API 合并
- acumatica - Acumatica:打印时不同的报表设计
- java - 如何按对象内树形图中的第一个键对对象列表进行排序
- python - 如何找到包含特定类值的元素?
- aws-lambda - AWS Lambda 函数中的端点可以调用同一函数中的其他端点吗?