我有一个具有多个级别的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
语句中的switch-case
,但Python没有switch-case
。我想知道是否还有其他方法可以更优雅地/“ Pythonly”解决此问题? Or is the only way to use dicts or implement my own switch-case
?
答案 0 :(得分:5)
您可以尝试取消嵌套条件:
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()
答案 1 :(得分:1)
您可以将其打包成一个函数,并按以下方式编写
JmsServiceInitialiser
尽管您确实必须多次编写return
答案 2 :(得分:0)
将此块放入函数中可能会有所帮助:
OpenQA.Selenium