7.异常捕获 与 推导式

【一】异常捕获

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 可迭代内容}
posted on 2024-04-10 15:22  晓雾-Mist  阅读(2)  评论(0编辑  收藏  举报