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. UITableViewCell嵌套UITableView的正确姿势

    内嵌UiTableView的高度计算起来太麻烦了,如何解决,就是把二级TableVIew里面的model item做到一级,然后对不同的item类型做不同的Cell,这样就Ok了.给一个得到Cell的 ...

  2. 微信小程序-设计指南

    基于微信小程序轻快的特点,官方拟定了小程序界面设计指南和建议,可作为小程序开发参考. 友好礼貌 -避免用户使用服务时被周围环境干扰,设计时应减少无关设计对用户的影响,礼貌的向用户提供服务,友好的引导用 ...

  3. Html5列表元素

    <ol> 有序列表: 属性:type(设置样式),reversed(倒序) <ul>无序列表 <li>表示列表中的项(在<ol>和<ul>中 ...

  4. 页面读取Excel

    var input = document.getElementById("file");    //支持chrome IE10    if (window.FileReader) ...

  5. java里常用的redis客户端简介

    Redis的各种语言客户端列表,请参见Redis Client.其中Java客户端在github上start最高的是Jedis和Redisson.Jedis提供了完整Redis命令,而Redisson ...

  6. HTTP协议GET HEAD简单介绍

    一.HTTP协议简介 超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议,自 1990 年起,HTTP 就已经被应用于 WWW 全球信息服务系统. HT ...

  7. 在Mac OS X中配置Apache + PHP + MySQL 很详细

    这是一篇超级详细的配置mac os下面php+mysql+apache的文章.非常详细我的大部分配置就是参考上面的内容的,比如,PHP不能连接数据库,就是改一下默认的php.ini中pdo_mysql ...

  8. MongoDB的安装启动及做成windows服务

    直接上干货. 官网地址:https://www.mongodb.com/download-center?jmp=nav#community 点击图中链接进入所有版本的下载列表 我下载的是3.6.5版本 ...

  9. Java基础之抽象类

    /* 1.抽象类的概述: 动物不应该定义为具体的东西,而且动物中的吃,睡等也不应该是具体的. 我们把一个不是具体的功能称为抽象的功能,而一个类中如果有抽象的功能,该类必须是抽象类. 抽象类的特点: A ...

  10. IntelliJ IDEA 配置maven

    以下内容引自http://blog.csdn.net/qq_32588349/article/details/51461182. 使用IntelliJ IDEA 配置Maven(入门)         ...