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完成FizzBuzzWhizz问题(拉勾网面试题)示例
May 05 Python
Python socket.error: [Errno 98] Address already in use的原因和解决方法
Aug 25 Python
基于wxpython实现的windows GUI程序实例
May 30 Python
Python实现的快速排序算法详解
Aug 01 Python
Python机器学习库scikit-learn安装与基本使用教程
Jun 25 Python
python 列表,数组和矩阵sum的用法及区别介绍
Jun 28 Python
Python线上环境使用日志的及配置文件
Jul 28 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
python 爬取B站原视频的实例代码
Sep 09 Python
python boto和boto3操作bucket的示例
Oct 30 Python
python网络爬虫实现发送短信验证码的方法
Feb 25 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 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
ThinkPHP中实例Model方法的区别说明
2010/08/21 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
2014/08/18 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
详解百度百科目录导航树小插件
2017/01/08 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
2017/06/04 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
小程序实现分类页
2019/07/12 Javascript
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
简单的编程0基础下Python入门指引
2015/04/01 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
Django 框架模型操作入门教程
2019/11/05 Python
Django中的session用法详解
2020/03/09 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
HTML5样式控制示例代码
2013/11/27 HTML / CSS
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
导游实习生自荐书
2014/01/28 职场文书
户外拓展活动方案
2014/02/11 职场文书
安全标准化实施方案
2014/02/20 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
学校标语大全
2014/06/19 职场文书
冬季作息时间调整通知
2015/04/24 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
SQLServer常见数学函数梳理总结
2022/08/05 MySQL