百木园-与人分享,
就是让自己快乐。

Python 条件控制

Python条件控制是通过条件语句的执行结果(True or False)来决定条件语句后的代码块是否执行

以最简单的if语句为例,代码执行流程如下:

以下是一个简单的if实例:

boy_age = 16

if boy_age == 18:
print(\'He is %d years old\' % boy_age)

if boy_age == 16:
print(\'He is %d\' % boy_age)

结果如下:

第一个if条件判断为False,所以第一个if判断后的print语句没有执行;第二个if条件判断为True,所以执行了之后的print语句

像上面这种写多个if语句的代码不清晰也不简洁,可以使用if-else、if-elif、if-elif-else等语句来执行多次条件判断

if-else条件判断

if-else条件判断适用于分类明确,且只有两种情况的条件判断,如性别判断等,

如果if条件为True,则执行if条件后的代码块,不执行else后的代码块;反之则只执行else后的代码块,示例如下:

gender = \'boy\'

if gender == \'boy\':
print(\'张无忌 is a handsome %s\' % gender)
else:
print(\'张无忌 is a beautiful %s\' % gender)

结果如下:

if-elif-else条件判断

if-elif-else条件判断适用于分类明确,有三种及以上情况的条件判断,如大小关系等,执行情况如下:

  • 如果if条件为True,则执行if条件后的代码块,不执行之后的elif/else判断及其代码块

  • 如果if条件为False,则不执行if条件后的代码块,继续执行之后的elif判断

  • 如果elif条件为True,则执行elif条件后的代码块,不执行之后的elif/else判断及其代码块

  • 最后如果所有的if/elif条件都为False,则执行else之后的代码块

示例如下:

x = 5
y = 10

if x > y:
print(\'x > y\') # 判断条件为False,不执行对应的代码块
elif x < y:
print(\'x < y\') # 判断条件为True,执行对应的代码块
else:
print(\'x = y\') # 前面有if/elif条件为True,所以不执行else之后的代码块

结果如下:

多个条件判断时,将出现概率高的条件写在前面可以减少判断次数,提高程序运行速度

if-elif条件判断

if-elif条件判断与if-elif-else执行流程基本一样,只是省略了最后的else语句

适用于多种情况,只想判断其中部分情况的需求,示例如下:

age = 28

if 0 < age <= 20:
print(\'age is between 0-20\')
elif 20 < age <= 40:
print(\'age is between 20-40\')
elif 40 < age <= 60:
print(\'age is between 40-60\')

结果如下:

如果将age = 28 改为age = 70,则不会执行任何打印语句,因为if/elif的条件判断都为False

最后:if-else、if-elif-else中的else是一条兜底语句,所有不符合条件的测试都会执行else之后的代码块,这可能会引入无效的甚至恶意的数据。如果明确最后的判断条件,应该将所有的else语句都改写为elif语句,以此来提高代码的可读性和安全性

来源:https://www.cnblogs.com/programmer4027/p/14721908.html
图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Python 条件控制

相关推荐

  • 暂无文章