一)程序结构
- 顺序结构
- 选择结构
- 循环结构
二)if语句
基本语法:
1| if 表达式:
2| 语句块
- if为保留字
- 表达式可以是:
- 一个单纯的布尔值、变量
- 比较表达式
- 逻辑表达式
- 表达式为真,则执行语句块;表达式为假,跳过语句块。
- 为真的情况:表达式的值为非零的数,或非空的字符串
- 为假的情况:
- False
- None
- 数值中的零,包括整数0、浮点数0.0、虚数0,可用程序自测
- 空序列,如空列表、空元组、空字符串、空字典
- 自定义对象的实例,该对象的_bool_方法返回False,_len_方法返回0
- 注意:表达式后有冒号
- 语句块统一缩进:
例如:交换a、b的值
# 三个语句为一语句块
1| if a<b:
2| a = a ^ b
3| b = a ^ b
4| a = a ^ b
# 前两个个语句为一语句块
1| if a<b:
2| a = a ^ b
3| b = a ^ b
4| a = a ^ b
缩进不一,程序的逻辑就不一样,易造成bug。不同情况,开发环境的提示也不一样,如上两例,没有语法错误,一般不提示。
- 语句块只有一条语句时,可直接写到冒号:右侧
if a>b: max=a
# 不建议如上面那样编写,考虑程序可读性,应按照习惯
if a>b:
max = a
三)if…else语句
基本语法:
1| if 表达式:
2| 语句块1
3| else:
4| 语句块2
- 满足执行语句块1,不满足执行语句块2
- 注意冒号、缩进
- else语句不能单独使用,必须与if一起
- else语句根据缩进确定其属于哪个if
if a>=0:
if a>0:
print("a > 0")
else:
print("a = 0")
if a>=0:
if a>0:
print("a > 0")
else:
print("a < 0")
- 与条件表达式转化:
# 取a的绝对值
if a>0:
b = a
else:
b = -a
# 条件表达式
b = a if a>0 else -a # b=(a if a>0 else -a)
四)if…elif…else多分支语句
基本语法:
if 表达式1:
语句块1
elif 表达式2:
语句块2
......
elif 表达式n:
语句块n
else:
语句块n+1
- if、elif都需要判断表达式的真假,else不需要,注意冒号
- elif、else都必须跟随if使用,不能单独用
五)if语句嵌套
- 以上三种语句均可相互嵌套
- 严格控制不同级别代码块的缩进量
- 使用布尔型变量作判断条件:
flag = True #flag为布尔型
if flag: #真
语句块
if not flag: #假
语句块
# 不建议
if flag==True: #真
语句块
if flag==False: #假
语句块
- 注意“==”与“=”
if a==1: #比较表达式
...
if a=1: #赋值表达式,a值为1,永真
...
if 1==a: #建议使用
...
版权声明:本文为qq_45351217原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。