Python是否允许在无else语句的情况下使用elif语句?
Python中elif无需搭配else的语法说明
Python从诞生之初就允许在没有else语句的情况下使用elif,这是原生支持的语法规则,从未有过“elif必须搭配else”的要求。
Python的条件分支结构逻辑是:
- 以
if开头的分支是必填的起始块 - 后续可以跟0个或多个
elif块 - 最后可以选择添加0个或1个
else块
也就是说,elif的存在只依赖于前面的if,和else没有强制绑定关系。
看你测试的这段代码:
val = "hi" if (val=="hello") or ("w" in val): print("hello") elif(val=="hi"): print("hi")
运行逻辑完全符合语法:第一个if条件不成立,程序会依次检查后续的elif条件,当匹配到val=="hi"时执行对应的打印操作,整个流程合法且正常。
可能是你混淆了其他编程语言的规则,但在Python里,这种写法从最早的版本就被支持,没有版本变更的情况。
内容的提问来源于stack exchange,提问作者djohon
相关产品推荐
相关产品推荐

