Python中Inline if-else能否支持多分支条件语句的写法?
Python 多分支三元表达式的写法
当然可以实现多分支条件逻辑,但你写的语法有误——Python的三元表达式不支持else if写法,正确方式是把后续分支嵌套在else部分,也就是连续使用三元表达式。
正确写法示例
把你的代码调整为:
result = 42 if a=='Hitchhicker' else 30 if a=='Mountain-biker' else 7 print(result)
逻辑说明
这个结构的执行逻辑和普通if-elif-else完全一致:
- 先判断
a=='Hitchhicker',成立则返回42 - 不成立就进入
else部分,再判断a=='Mountain-biker',成立则返回30 - 前两个条件都不满足时,返回最后的
7
实际运行示例
- 当
a = 'Hitchhicker',输出42 - 当
a = 'Mountain-biker',输出30 - 当
a = 'Other',输出7
这种写法也能直接放在print语句里,和你之前学的单分支用法一致:
a = 'Mountain-biker' print(42 if a=='Hitchhicker' else 30 if a=='Mountain-biker' else 7) # 输出: 30
内容的提问来源于stack exchange,提问作者Bruno Peixoto
相关产品推荐
相关产品推荐

