【一】异常捕获
1)异常捕获
try:
会报错的代码
except:
触发异常后输出的内容
2)异常指定捕获
try:
会报错的代码
except 异常类型:
触发异常后输出的内容
3)捕获多个异常
try:
会报错的代码
except 类型1,类型2,类型3...:
触发异常后输出的内容
else:
无异常输出的内容
4)多分支异常捕获
try:
会报错的代码
except 类型1:
触发异常后输出的内容
except 类型2:
触发异常后输出的内容
else:
无异常输出的内容
5)捕获基本异常,并输出报错内容
try:
会报错的代码
except Exception as e:
print(e)
6)主动触发异常
if 想要报错的条件:
raise 报错类型(输出内容)
7)断言
assert condition, message
- condition:条件,若为False,触发异常
- message:指定报错时的输出内容
【二】列表、字典推导式
1)列表推导式
num = [表达式 for i in 可迭代内容]
num = []
for i in range(5):
num.append(i)
print(num) # [0, 1, 2, 3, 4]
# ||
num = [i for i in range(5)]
print(num) # [0, 1, 2, 3, 4]
# 生成新类别
print([[i + i, i * i] for i in [1, 2, 3]])
# [[2, 1], [4, 4], [6, 9]]
# 让每个元素执行相同操作
print(['-' + i + '|' for i in ['a', 'b', 'c']])
# ['-a|', '-b|', '-c|']
# 嵌套
print([a * b for a in [1, 2, 3] for b in [4, 5]])
# [4, 5, 8, 10, 12, 15]
# 行列转换
num = [1, 2, 3], [4, 5, 6]
print([[a[b] for a in num] for b in range(len(num[0]))])
# [[1, 4], [2, 5], [3, 6]]
#加入条件进行过滤
print([a for a in [1, 2, 3] if a != 2])
# [1, 3]
2)字典推导式
{键:值 for 迭代变量 in 可迭代对象 [if 条件表达式]}
3)集合推导式
num = {表达式 for i in 可迭代内容}