- 前言
- 一、Bug的常见类型
- 二、Python的异常处理机制
- 1.try…excep…结构
- 2.try…excep…excep…结构
- 3.try…excep…else…
- 4.try…excep…else…finally…结构
- 5.traceback模块
- 三 Python中常见的异常类型
- 四 PyCharm开发环境的调试
前言
一、Bug的常见类型
- 漏了末尾的冒号,如if语句,循环语句,else子句等
- 缩进错误,该缩进的没缩进 ,不该缩进的瞎缩进
- 把英文符号写成中文符号, 比如说:引号,冒号,括号
- 字符串拼接的时候,把字符串和数字拼在一起
- 没有定义变量,比如说while的循环条件的变量
- "==”比较运算符和”=”赋值运算符的混用
- 索引越界问题IndexError
- append()方法使用不熟练,append一次只能增加一个元素
- 基础知识掌握不牢固,多练习
- 思路不清晰导致代码逻辑不清
- 被动掉坑,程序代码逻辑没有错误,由于用户错误操作或者一些例外情况,而导致的程序崩溃
# 题目要求
# 豆瓣电影Top250排行,使用列表存储电影信息,要求输入名字在屏幕上显示出XXX出演了哪部电影
lst = [{'rating':[9.7,50],'id':1292052,'type':['犯罪','剧情'],'title':'肖申克的救赎','actors':['蒂姆罗宾斯','摩根弗里曼']},
{'rating':[9.6,50],'id':1292054,'type':['喜剧','剧情'],'title':'送你一朵小红花','actors':['易烊千玺','夏雨']},
{'rating':[9.6,50],'id':1292053,'type':['科幻','剧情'],'title':'流浪地球','actors':['吴京','赵今麦']}]
name = input('请输入你要查询的演员')
for item in lst: # 遍历列表可以得到每一部电影,每一部电影是一个字典
act_list = item['actors'] # 根据演员的键actors取出学员的列表
for actors in act_list: # 遍历字典,得到的movie是一个字典中的key,根据key在字典中取值即可
if name in actors: # 判断那么在列表中是否存在
print(name+'出演了'+item['title']) # 根据电影名称的键ti取出电影的名称,进行输出
二、Python的异常处理机制
Python提供了异常处理机制,可以在异常时出现即时捕获,然后内部“消化”,让程序继续运行。
1.try…excep…结构 2.try…excep…excep…结构try:
# 可能会出现异常的代码
n1=int(input('请输入一个整数'))
n2=int(input('请输入另一个整数'))
result = n1/n2
print(result)
except ZeroDivisionError: # 异常范围从小到大捕获
# 异常处理代码
print('除数不能为0')
except ValueError:
print('不能将字符串转换为数字')
except BaseException as e: # 为了避免遗漏可能出现的异常,可以在最后增加BaseExcetion
print(e)
3.try…excep…else…
如果try块中没有抛出异常,则执行else块,如果try中抛出异常except块
try:
n1 = int(input('请输入一个整数'))
n2=int(input('请输入另一个整数'))
result = n1/n2
print(result)
except BaseException as e:
print('出错')
print(e)
else:
print('结果=',result)
4.try…excep…else…finally…结构
finally块无论是否发生异常都会被执行,能常用来释放try块中申请的资源。
try:
n1 = int(input('请输入一个整数'))
n2=int(input('请输入另一个整数'))
result = n1/n2
print(result)
except BaseException as e:
print('出错')
print(e)
else:
print('结果=',result)
finally:
print('无论是否产生异常,总会执行的代码')
print('程序结束')
5.traceback模块
- 使用traceback模块打印异常信息
import traceback
try:
print('--------------')
num = 10 /0
except:
traceback.print_exc()
异常问题会存到log日志中,方便后期的程序修改。
三 Python中常见的异常类型 四 PyCharm开发环境的调试- 断点:程序运行到此处,暂时挂起,停止执行,此时可以详细观察程序的运行情况,方便做出进一步的判断。
- 进入调试视图的三种方式:(1)单击工具栏上的按钮(2)右击编辑区,点击debug‘模块名’(3)快捷键:shift+F9



