栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python学习.第十天.Bug

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python学习.第十天.Bug

文章目录
  • 前言
  • 一、Bug的常见类型
  • 二、Python的异常处理机制
    • 1.try…excep…结构
    • 2.try…excep…excep…结构
    • 3.try…excep…else…
    • 4.try…excep…else…finally…结构
    • 5.traceback模块
  • 三 Python中常见的异常类型
  • 四 PyCharm开发环境的调试


前言
一、Bug的常见类型
  1. 漏了末尾的冒号,如if语句,循环语句,else子句等
  2. 缩进错误,该缩进的没缩进 ,不该缩进的瞎缩进
  3. 把英文符号写成中文符号, 比如说:引号,冒号,括号
  4. 字符串拼接的时候,把字符串和数字拼在一起
  5. 没有定义变量,比如说while的循环条件的变量
  6. "==”比较运算符和”=”赋值运算符的混用
  7. 索引越界问题IndexError
  8. append()方法使用不熟练,append一次只能增加一个元素
  9. 基础知识掌握不牢固,多练习
  10. 思路不清晰导致代码逻辑不清
  11. 被动掉坑,程序代码逻辑没有错误,由于用户错误操作或者一些例外情况,而导致的程序崩溃
# 题目要求
# 豆瓣电影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
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/938205.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号