python3.7调试的实例方法


Posted in Python onJuly 21, 2020

 PyCharm IDE 窗口布局

python3.7调试的实例方法

PyCharm 调试代码实例(这里我以自己的代码为例)

__author__ = 'lxm' 
#!/usr/bin/python
 import thread
 import time
 # Define a function for the thread
 def print_time( threadName, delay):    
    count = 0   
    while count <  5:       
    count += 1        
    print "%s: %s" % ( threadName, time.ctime(time.time()) ) 
def check_sum(threadName,valueA,valueB):    
    print "to calculate the sum of two number her"    
    result=sum(valueA,valueB)    
    print "the result is" ,result;
 def sum(valueA,valueB):   
    if valueA >0 and valueB>0:        
    return valueA+valueB 
def readFile(threadName, filename):   
    file = open(filename)    
    for line in file.xreadlines():        
    print line 
try:    
    thread.start_new_thread( print_time, ("Thread-1", 2, ) )   
    thread.start_new_thread( check_sum, ("Thread-2", 4,5, ) )    
    thread.start_new_thread( readFile, ("Thread-3","test.txt",)) 
except:    
    print "Error: unable to start thread"
 while 1:
 #   print "end"   
    pass

在调试之前通常需要设置断点,断点可以设置在循环或者条件判断的表达式处或者程序的关键点。设置断点的方法非常简单:在代码编辑框中将光标移动到需要设置断点的行,然后直接按 Ctrl+F8 或者选择菜单"Run"->"Toggle Line Break Point",更为直接的方法是双击代码编辑处左侧边缘,可以看到出现红色的小圆点。当调试开始的时候,当前正在执行的代码会直接显示为蓝色。下图中设置了三个断点,蓝色高亮显示的为正在执行的代码。

断点设置

表达式求值:在调试过程中有的时候需要追踪一些表达式的值来发现程序中的问题,Pycharm 支持表达式求值,可以通过选中该表达式,然后选择“Run”->”Evaluate Expression”,在出现的窗口中直接选择 Evaluate 便可以查看。

Pycharm同时提供了 Variables 和 Watches 窗口,其中调试步骤中所涉及的具体变量的值可以直接在 variable 一栏中查看。

变量查看

如果要动态的监测某个变量可以直接选中该变量并选择菜单”Run”->”Add Watch”添加到 watches 栏中。当调试进行到该变量所在的语句时,在该窗口中可以直接看到该变量的具体值。

知识点扩展:

对于 python 代码的调试我们通常都是使用 IDE 自带的调试功能。但是 IDE 提供的调试功能存在局限性,例如在测试服务器上调试代码,但是又不可能在测试服务器上安装 IDE 进行调试。这时我们就可以利用下面所讲解的三个工具进行调试。

零、准备调试代码

在讲解三个调试工具前,我们先编写待调试的代码。代码很简单,就是计算两个数的商。我们在编写代码的时候故意留下了除数为 0 的 bug。

def division(start, end):
 for i in range(start, end, -1):
  num1 = i
  num2 = i - 1
  result = num1 / num2
  print(result)


if __name__ == '__main__':
 division(10, 0)

到此这篇关于python3.7调试的实例方法的文章就介绍到这了,更多相关python3.7怎么调试内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python下函数参数的传递(参数带星号的说明)
Sep 19 Python
Python通过递归遍历出集合中所有元素的方法
Feb 25 Python
使用url_helper简化Python中Django框架的url配置教程
May 30 Python
Python实现重建二叉树的三种方法详解
Jun 23 Python
浅析python的优势和不足之处
Nov 20 Python
Python简单基础小程序的实例代码
Apr 28 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
Aug 29 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
Apr 02 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
Django模型验证器介绍与源码分析
Sep 08 Python
python 实现aes256加密
Nov 27 Python
教你怎么用python selenium实现自动化测试
May 27 Python
python如何快速生成时间戳
Jul 21 #Python
OpenCV Python实现图像指定区域裁剪
Mar 12 #Python
openCV提取图像中的矩形区域
Jul 21 #Python
Python文件夹批处理操作代码实例
Jul 21 #Python
Python常用库Numpy进行矩阵运算详解
Jul 21 #Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
Jul 21 #Python
Pandas的Apply函数具体使用
Jul 21 #Python
You might like
PHP中动态显示签名和ip原理
2007/03/28 PHP
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
2011/05/24 PHP
PHP正则验证Email的方法
2015/06/15 PHP
LNMP部署laravel以及xhprof安装使用教程
2017/09/14 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
js 省地市级联选择
2010/02/07 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
基于javascript实现图片懒加载
2016/01/05 Javascript
js实现简单排列组合的方法
2016/01/27 Javascript
Nodejs如何复制文件
2016/03/09 NodeJs
基于JavaScript实现的折半查找算法示例
2017/04/14 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
2017/05/15 Javascript
详解vue.js下引入百度地图jsApi的两种方法
2018/07/27 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
原生JS实现拖拽效果
2020/12/04 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
简单实现python进度条脚本
2017/12/18 Python
django文档学习之applications使用详解
2018/01/29 Python
学习python的前途 python挣钱
2019/02/27 Python
PIL对上传到Django的图片进行处理并保存的实例
2019/08/07 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
Vans荷兰官方网站:美国南加州的原创极限运动潮牌
2018/01/23 全球购物
肯尼迪就职演说稿
2013/12/31 职场文书
学校学雷锋活动总结
2014/06/26 职场文书
副总经理岗位职责范本
2014/09/30 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js