1程序结构
1.1分支结构
单分支结构:
例如
if 条件表达式:
语句块
双分支结构:
例如
if 条件表达式:
语句块1
else:
语句块2
多分支路结构:
例如:
if 条件表达式:
if 条件表达式1:
语句块1
elif 条件表达式2:
语句块2
elif 条件表达式3:
语句块3
.......
else:
语句块n+1
1.2循环结构:
1.2.1for循环
基本结构:
for 条件表达式:
语句块1
else:
语句块2
for循环可嵌套使用,即在for循环中使用for循环
for a in range(1,50):
for b in range(a+1,50):
for c in range(b+1,50);
1.2.2while循环
基本结构:
while 条件表达式:
语句块1
else:
语句块2
语句块2可用省略,若条件表达式始终为True,则while循环构成无限循环,即死循环。
1.2.3循环控制
循环控制break语句跳出当前循环,包括跳出else,即提前结束循环
continue语句跳出循环体剩余语句,回到循环开头,开启下一次循环
1.3异常处理
1.3.1异常处理基本结构
try:
可能引发异常的代码
except 异常处理类型名:
异常处理代码
(使用多个except语句可以捕捉多种异常
except语句省略异常处理类型名,则不管发生何种异常都会执行except语句的异常处理代码)
else:
没有发生异常时执行的代码
finally:
不管是否发生异常都会执行的代码
(try finally终止行为,不管try语句是否发生异常都会执行的代码)
1.3.2异常处理类型
except TypeError 在运算或函数调用时,使用了不兼容的类型引发的异常
except ZeroDivisionError 除0错误
except IndexError 位置索引超出范围
1.3.3
try:
5/0
except Exception as x:
raise IndexError from x
可以通过raise from语句,使用异常来引发另一个异常
try:
import math
x=-5
assert x>=0
except Exception as ex:
print('异常类型:',ex.class.name)
print('异常信息:',ex)
用try来捕捉assert语句引起的AssertionError异常