1、print,直接打印,比较简单而且粗暴
  在代码中直接输入print+需要输出的结果,根据打印的内容判断即可
 
2、assert断言,很方便,测试人员常常在写自动化用例的时候用的比较多
  如下,直接将预期结果和实际结果做判断 
      def true_code():
    x = 3
    y = 2
    z = x + y
    assert(5==z), "z不等于5"

def false_code():
    x = 3
    y = 3
    z = x + y
    assert(5==z), "z不等于5"

true_code()
false_code()

  运行结果如下:

  

 
 
3、pdb交互式源代码调试
  常用命令:break或b  设置断点
       continue或c  继续执行程序,或跳到下个断点
       list或l  查看当前行的代码段
       step或s  进入函数
       return或r  执行代码知道从当前函数返回
       exit或q  中止并退出
       next或n  执行下一行
       p或!   打印变量的值例如a为变量,则输入p a
       help或h   帮助
  在使用pdb时需要导入pdb库,然后在代码中需要的地方引入pdb代码片段,如下:  
 import pdb

 if __name__ == "__main__":
  a = 1
  pdb.set_trace() #创建pdb代码片段
  b = 2
  c = a + b
  print(c)

  输入pdb命令,并且查看结果:

    

 
4、日志,定位问题记录程序运行情况
  主要是引入logging库
  logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 

debug(), info(), warning(), error() and critical()
5个级别,根据需要选择不同的级别打印日志
 
5、IDE Debuger 图形界面便于数据查看,支持多线程调试,远程调试
  主要是IDE中自带的debug调试
  设置断点,运行时以debug模式运行,或这shift+F9运行

python五种调试或排错的方法的更多相关文章

  1. 五种WordPress防止垃圾评论方法-过滤垃圾评论提高WP运行效率

    WordPress貌似和垃圾评论是一对“孪生兄弟”,无论在国内还是国外的空间主机上搭建的Wordpress博客,无论Wordpress有多少流量多么低的权重,垃圾评论都会自动找上门来,假如有好几天没有 ...

  2. 五种ip proxy的设置方法

    我们在制作爬虫爬取想要的资料时,由于是计算机自动抓取,强度大.速度快,通常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,在这里介绍相关的技巧,以免被封:但在制作爬虫时,还 ...

  3. es6五种遍历对象属性的方法 - 表格整理

    ES6 一共有5种方法可以遍历对象的属性. (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性). (2)Object.keys(obj) Obje ...

  4. python几种常见的模块安装方法

    1. 在线安装 1.1 在命令提示符中运行 pip install package_name 指令  注:具体前置步骤和教程:http://www.cnblogs.com/jfl-xx/p/72895 ...

  5. Python python 五种数据类型--列表

    # 列表的定义 var1 = [] var2 = list() print(type(var1)) #<class 'list'> print(type(var2)) #<class ...

  6. Python python 五种数据类型--字符串

    # python 字符串的初始化 var1 = 'hello,world' # python 字符串为不可变类型 var2= var1* 2 print(var1) #hello,world prin ...

  7. 五种JSP页面跳转方法详解

    1. RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个 ...

  8. Python python 五种数据类型--元组

    # 定义一个元组 var1 = ('Hello','Python') var2 = tuple() print(type(var1)) #<class 'tuple'> print(typ ...

  9. Python python 五种数据类型--字典

    # 定义一个字典 var1 = {'a':20,'b':40}; var2 = dict(); print(type(var1)) print(type(var2)) # 长度 length = le ...

随机推荐

  1. JAVAEE——BOS物流项目13:Quartz概述、创建定时任务、使用JavaMail发送邮件、HighCharts概述、实现区域分区分布图

    1 学习计划 1.Quartz概述 n Quartz介绍和下载 n 入门案例 n Quartz执行流程 n cron表达式 2.在BOS项目中使用Quartz创建定时任务 3.在BOS项目中使用Jav ...

  2. java文件传输之文件编码和File类的使用

    ---恢复内容开始--- 我们知道,在用户端和服务端之间存在一个数据传输的问题,例如下载个电影.上传个照片.发一条讯息.在这里我们 就说一下文件的传输. 1.文件编码 相信大家小时候玩过积木(没玩过也 ...

  3. JavaBean转JSON方式

  4. 运算符优先级--C

    优先口决 括号成员第一; //括号运算符[]() 成员运算符. -> 全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*& 乘除余三,加减四; //这个& ...

  5. python爬虫入门(六) Scrapy框架之原理介绍

    Scrapy框架 Scrapy简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬 ...

  6. Python强大的格式化format

    原文地址:http://www.jb51.net/article/63672.htm 自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型 ...

  7. This 在构造函数中的固定用法

    class Person{ String name; int age; char gender; public Person (String name){ this.name = name; } pu ...

  8. Oracle数据库表分区

    一.Oracle数据库表分区概念和理解         1.1.已经存在的表没有方法可以直接转化为分区表.         1.2.不在分区字段上建立分区索引,在别的字段上建立索引相当于全局索引.效率 ...

  9. Oracle12c中SQL优化(SQL TUNING)新特性之SQL计划指令

    SQL计划指令是Oracle12c中自适应查询优化的功能之一.SQL计划指令就像“额外的提醒” ,用以提醒优化器你先前选择了的计划并不是最优的,典型的是因为错误的势评估.错误的势评估往往是由统计信息缺 ...

  10. python3 爬去QQ音乐

    import requests import re import json import os def get_name(singer): url = 'https://c.y.qq.com/soso ...