Python条件语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程。

 

Python中的条件语句包括if、elif、else语句,用来控制程序的执行,当判断条件为真时,执行该语句下的执行体,判断条件为假时,跳过该语句。具体语法如下:

格式1

if 判断条件:

执行语句……

当判断条件为真(值为True)时,执行该条件下的执行语句;否则,不执行该条件下的语句。以下面代码为例:

代码:

 

结果:

 

上述代码的执行结果为True。由于a的值为‘a’,在执行第一个判断条件时,满足a=’a’,因此执行该条件下的语句,打印出结果True

 

格式2

if 判断条件:

执行语句……

else

执行语句……

       当判断条件为真(值为True)时,执行该条件下的执行语句;否则,执行else下的语句。需要注意的是,Python中以缩进来确定一个代码块。以下面代码为例:

代码:

 

结果:

上述代码的执行结果为True。由于a的值为1,在执行第一个判断条件时,满足a>0,因此执行该条件下的语句,打印出结果True。由于已经第一个判断条件已经满足,程序不再检查其他的判断条件。对上面代码稍作改动,具体见下:

代码:

 

结果:

 

上述代码的执行结果为False。由于a的值为0,在执行第一个判断条件时,不满足a>0,因此跳过该执行语句,执行else语句下的执行体,打印结果为False

格式3

if 判断条件:

执行语句……

elif 判断条件:

执行语句……

elif 判断条件:

执行语句……

else

执行语句……

当判断条件为多个值时,可以使用上述形式。

Python条件语句具有以下几个特点

1、  如果判断条件有多个时,可以使用and/or连接。

2、  当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,

此外 and  or 的优先级低于>(大于)、 <(小于)等判断符号,即大于和小于在没有括号的情况下会比and/or要优先判断。

代码:

 

结果:

 

3、  Python 复合布尔表达式计算采用短路规则,即如果通过前面的部分已经计算出整个表达式的值,则后面的部分不再计算。见下面例子:

代码:

 

结果:

 

程序在运行过程中判断到a>0False时,由于False与任何布尔类型的值进行“与”运算的结果均为False,所以程序就不再判断表达式b/a>2的值,最终打印出结果“no”。但是,这段代码实际上是有错误的,因为0不能做除数,而在表达式b/a>2中,0做了除数。由于Python的这一特点,所以程序在运行的时候并没有报零除错误。我们将上述代码稍作修改,如下所示:

代码:

 

结果:

 

我们将代码中的“and”改成了“or”,此时由于表达式(a>0)的值为False,所以程序继续计算表达式(b/a>2)的值,此时程序检查到除数为0,所以程序运行时报错。

4、  在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。

猜你喜欢

转载自www.cnblogs.com/puheng/p/9117619.html