目录
之前说了变量和基本类型,3.X系列主要说下条件分支和循环相关的东西,首先说下if语句,if语句是python中基本的条件分支判断语句,if语句通过条件判断,对代码模块的进行分枝执行。
1、if单分支判断
先说下if单分支的基本语句组成结构,
if 判断条件:
子代码模块
if 2>1: #判断2>1是否正确
print("正确") #正确,然后走到子代码中,打印输出正确
输出结果为: 正确
现在在来个判断失败的,看看是输出什么?
if 2<1: #判断2<1是否正确
print("错误") #打印结果为 空,因为在上面判断2<1结果为 false,所以不会进入到下面的子代码中,所以不会打印 错误 出来
输出结果为: (空的,什么都没有打印出来)
个人理解就是if后面加一个判断条件,如果判断结果通过了,就去执行子代码里的逻辑,如果没通过直接就不执行子代码里的内容里。
2、if双分支判断
先说下双分支判断的基本用法
if 判断条件:
子代码模块1 #如果满足if后的判断条件就执行if下的子代码 如果不满足呢?
else: #else:如果if的判断条件不满足,就执行else下的子代码
子代码模块2
可以理解为,if条件判断,如果我判断通过了,就只执行if下的那个子代码,不去执行else,如果我if判断条件不通过,那就去执行else下的子代码
输出if分支的代码:
if 2>1: #判断2>1是否成立
print("输出if") #成立了,直接执行if下的子代码 打印为:输出if
else: #因为if条件成立了,走到了子代码中,所以就不执行else的操作了
print("输出else")
输出结果为:输出if
输出为else分支的代码:
if 2<1: #判断2<1是否成立,结果为不成立所以走不到子代码中
print("输出if") #省略不执行
else: #由于if条件判断不成立,所以代码走到了else这里去执行else下的子代码
print("输出else") #打印结果为:输出else
输出结果为:输出else
if和else可以理解成是两个对立的条件,如果if条件判断通过了,就不会执行else下的子代码,相反也是,如果if条件判断不通过,就会直接去执行else下的子代码
3、多条件分支判断
基本组成结构为:
if 判断条件1: #第一个判断条件
子代码模块
elif 判断条件: #第二个判断条件
子代码模块
elif 判断条件: #第三个判断条件
子代码模块
else: #如果不满足上面是那个判断条件,执行else下的子代码
子代码模块
可以elif可以使用1个,也可以使用多个,先看使用1个走到了elif的场景
if 2<1: #判断2<1是否成立
print("输出if") #因为2<1不成立,所以没走到这行子代码中
elif 2>1: #继续判断2>1是否成立
print("输出elif") #2>1成立,所有打印输出elif
输出结果为:输出elif
现在看elif使用多个的场景
if 2<1: #判断2<1不成立
print("输出if") #不走这行子代码
elif 3<1: #判断3<1不成立
print("输出elif") #不走这行子代码
elif 3 > 2: #判断3>2成立
print("输出第二个elif") #所以打印结果为:输出第二个elif
打印结果为:输出第二个elif
看下有两个elif但是第一个就已经走到子代码中,还会不会执行第二个elif
if 2<1: #判断2<1不成立
print("输出if") #不走该子代码
elif 3 > 2: #判断3>2成立
print("输出elif") #打印结果为:输出elif
elif 3 > 1: #因为在这组条件判断中,第一个elif判断已经正确走到了子代码中,所以就不执行下面的代码了
print("输出第二个elif")
打印结果为: 输出elif
还有一种情况 如果我if和elif的条件都不满足是什么样
if 2<1: #判断条件不通过
print("输出if") #不走该子代码
elif 3 < 2: #判断条件不通过
print("输出elif") #不走该子代码
elif 3 < 1: #判断条件不通过
print("输出第二个elif") #不走该子代码
#所以没有打印输出任何结果
打印结果为: (空的,什么都没有打印出来)
这时候就可以加上else出来,如果都不成立就走else子代码
if 2<1: #条件判断不通过
print("输出if") #不走该子代码
elif 3 < 2: #条件判断不通过
print("输出elif") #不走该子代码
elif 3 < 1: #条件判断不通过
print("输出第二个elif") #不走该子代码
else: #前面都没判断通过走到了else分支上
print("输出else") #打印结果为:输出else
输出结果为:输出else
总结下就是:如果只有一个需要判断的,看情况使用if就好,如果需要有多条判断,然后这几条还都是有需要满足条件的,就可以使用if--elif,再每行加上需要判断的条件,如果想要的是,这几个判断结果都不满足后,输出一个其他的,就可以用 if - elif -else了
下图为公众号二维码,内容会同步发出,大家可以关注一起学习
这个是张狗子小哥哥的公众号,会分享一些平时的工作心得,可以关注看下。