在上一节中我们介绍了if语句、else子句以及elif子句,但都是相对简单的条件语句,本节将介绍更复杂的条件语句。
条件语句的嵌套
在实际开发中随处可见条件语句的嵌套,条件语句的嵌套即在if语句、else子句、elif子句中还存在条件语句。
具体用法如下nest_condition_statement.py程序所示:
nest_condition_statement.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = input('What is your name? ')
if name.endswith('Gumby'):
if name.startswith('Mr.'):
print('Hello, Mr. Gumby')
elif name.startswith('Mrs.'):
print('Hello, Mrs. Gumby')
else:
print('Hello, Gumby')
else:
print('Hello, stranger')
虽然在实际的项目开发中,存在条件语句的嵌套,但是也不宜进行多层嵌套,一般情况最多使用三层嵌套足以,超过三层的嵌套会使我们的程序可读性变差,当超过三层时,需要考虑从程序的逻辑、算法等上面对程序进行优化。
更复杂的条件
总的来说条件语句并不复杂,而复杂的是条件表达式,在条件表达式中最常用的就是比较运算符,以下是常用的比较运算符及条件表达式:
条件表达式 描述
x == y x 等于y
x < y x小于y
x > y x大于y
x >= y x大于或等于y
x <= y x小于或等于y
x != y x不等于y
x is y x和y是同一个对象
x is not y x和y是不同的对象
x in y x是容器(如序列)y的成员
x not in y x不是容器(如序列)y的成员
在条件表达式中,不仅仅可以使用比比较运算符(关系运算符)还可以使用逻辑运算符,Python中的逻辑运算符如下所示:
运算符 逻辑表达式 描述
and x and y 布尔"与",如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值
or x or y 布尔"或",如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值
not not x 布尔"非",如果 x 为 True,返回 False 。如果 x 为 False,它返回 True
上面的x和y即可以是具体的值例如:True、False、1、'hello'等,也可以是一个表达式,总之在进行逻辑运算前,会先获取x和y的值,然后再进行逻辑运算。
总结
本节主要介绍了复杂的条件语句:
- 条件语句结构复杂——条件语句的嵌套。
- 条件语句的条件表达式复杂——可以使用多种运算、或者表达式本身由多个表达式构成等。
下一节将会开始介绍Python中另一种重要的语句——循环语句,敬请期待。
如果有需要文中小程序的可以私信我哟!
喜欢的小伙伴请点关注、收藏!
欢迎大家转发、评论!