1.条件表达式
- 所有的Python合法表达式都可以作为条件表达式,包括含有函数调用的表达式
a.关系运算符
- 可以连续使用,符合人类的思维方式。如:a>b<c,等价于a>b and b<c
- 关系运算符具体惰性计算的特点(即短路特性)
如:>>>1>2<XXX #当前上下文中并不存在变量XXX
输出结果:False #计算1>2不符合条件就开始结束了,不再继续后面的判断,这就是短路特性
b.逻辑运算符
- and,or,not 分别是:与,或,非
- and,or具有短路求值或者惰性求值的特点
- 优先级:not>and>or
- and:语法结构:x and y,返回的结构是决定表达式结果的值
如果x为True时,则y决定结果,如:1 and 5 输出结果为5
如果x为False时,则x决定结果,如:0 and 5 输出结果为0
- or:语法结构:x or y,有一个为真,结果就为真,符合短路特性
- not:返回表达式结果的相反的值,返回的是bool型
2.选择结构
a.单分支选择结构
- 语法格式:
if 表达式:
语句块
- 冒号不可以省略,语句块必须缩减,这样才能表示逻辑上的隶属关系
- 表达式为T时,才执行语句块
b.双分支选择结构
- 语法格式:
if 表达式:
语句块1
else:
语句块2
- 表达式成立则执行语句块1,否则执行语句块2
- 三元运算符也能达到形同的效果,语法格式:value1 if condition else value2
- 当condition的值与T等价,表达式的值为value1,否则表示的值为value2
- value1和value2可以是复杂的表达式、函数调用、三元运算符等。
- 该三元运算符也具有惰性计算的特点
- 为了提高代码的可读性,建议使用if-else这样的双分支结构
c.多分支选择结构
- 语法格式:
if 表达式1:
语句块1
elif 表达式2:
语句块2
elif 表达式3:
语句块3
......
else:
语句块n
- 关键字elif是else if的缩写
d.选择结构的嵌套
- 以上的选择结构可以通过嵌套实现复杂的业务逻辑
- 嵌套一定要注意缩进量!因为Python不像C和Java一样有花括号将语句块放在一起,其全靠缩进来实现代码块之间的从属关系和业务逻辑!
e.构建跳转表实现多分支选择结构
- 使用列表、元组、字典可以构建跳转表,可更快的实现一些场景的要求
- 如:构建跳转表,根据用户的不同输入内容来实现不同的业务功能。
3.循环结构
a.for循环和while循环
- 多个循环可以嵌套使用,要注意缩进
- while语法格式
while 条件表达式:
循环体
[else:
else子句代码块]
- for语法格式
for 取值 in 序列或迭代对象:
循环体
[else:
else子句代码块]
- 对于带有else子句的循环结构,如果循环结构因为条件表达式不成立或者遍历序列自然结束时,则执行else结构中的语句
- 如果循环是因为执行了break语句导致循环提前结束,则不会执行else中的内容
- else方括号中的内容可以有,可以没有
b.break和continue
- break结束当前所在的那层循环
- continue进行下一次循环
- 两者的用法和c、java中的规则一致