让程序变智能的分支结构:if语句
**让程序变智能的分支结构:if语句
1、if语法结构
①条件执行
if条件表达式:语句体
if根据条件表达式返回的布尔值决定是否执行之后的语句体。布尔值为真,折执行语句体:为假,则什么都不做。
if age>18;
pass
②、选择执行
这种情况就会产生分支效果,任然有条件表达式返回的布尔值决定被执行的语句体,语法结构为
if条件表达式:
语句体
else:
语句体
这里多了一个else,当if的条件表达式为false时,就会执行else的语句体。
③、条件链
有时需要判断的条件不值一个,需要更多分支。
if条件表达式:
语句体
elif条件表达式:
语句体
else:
语句体
这里的elif(其实就是 else if)意思是当上一个条件表达式返回值为false式,就会判断新的条件,使用数量没有限制。
④、嵌套
条件判断语句体内可以再嵌套条件语句,以后我们在学其他语法,都可以灵活嵌套,目的就是解决问题。
2、布尔值与if
在条件表达式中需要理解的就是返回的布尔值,布尔值只有两个值:真和假。虽然有真和假,但表现形式不仅仅是ture和false或者1和0.
布尔值表达式会被解释器看做false的值有:
①none
②false③任何为0的数字类型,如0、0.0、0j。
④任何空序列,如“、()、【】。
⑤任何空字典,如{}。
⑥用户定义的类实例,如果类定义了_ bool ()或者 len()或者 len _()方法,并且回0或者布尔值false。
其他所有值被解释器看做true。
3、逻辑运算符与if
①、逻辑与运算符and的作用是,只有左右皆为真时结果才为真
②逻辑或
逻辑或的作用是,运算符号or左右有一个为真则结果为真,跟逻辑与区别在于
③逻辑非
逻辑非的作用就是给布尔值做否定,例如
需要说明一点,and和or运算有一条重要法则:短路计算。
(1)在计算a and b时,如果a是False,则根据与运算法则,整个结果必定为False,因此返回a:如果a是True,则整个计算结果必定取决于b因此返回b。
(2)、在计算a or b时,如果a是True,则根据或运算法则,整个计算结果必定为True,因此返回a;如果a是False,则整个计算结果必定取决于b,因此返回b。
所以Python解释器在做布尔运算时,只要能确定计算结果,就不会继续往后计算,直接返回结果。
本文地址:https://blog.csdn.net/qq_52144223/article/details/110149246