嵌套使用两个if语句时,实际执行逻辑是怎样的?
嵌套if语句的执行逻辑解析
首先明确核心结论:嵌套的两层if语句,必须外层条件为真,同时内层条件也为真,才会执行内层代码块里的内容,等价于两个条件做逻辑与(and)运算后的结果为真。
下面逐个分析你的测试示例:
示例1:无输出
y = 2 if 2 > 1 and 2 > 3: if 2 > 0: print(y)
外层条件2 > 1 and 2 > 3中,2>3不成立,整个外层条件为假,程序直接跳过外层if包裹的所有代码(包括内层的if和print语句),所以没有输出,你的猜测正确。
示例2:无输出
if 2 > 1 and 3 > 2: if 2 > 100: print(y)
外层条件2>1 and 3>2成立,程序进入外层if的代码块,但内层条件2>100不成立,所以跳过内层if里的print语句,最终没有输出,确实是内层条件导致的。
示例3:成功输出y
if 2 > 1 and 3 > 2: if 2 > 0: print(y)
外层条件为真,同时内层条件2>0也为真,两层条件都满足,所以执行内层的print语句,成功输出y。
内容的提问来源于stack exchange,提问作者jlewis
相关产品推荐
相关产品推荐

