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实现定时同步本机与北京时间的方法
Mar 24 Python
python自定义类并使用的方法
May 07 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
Mar 05 Python
python3如何将docx转换成pdf文件
Mar 23 Python
python3.6利用pyinstall打包py为exe的操作实例
Oct 31 Python
Python列表(List)知识点总结
Feb 18 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 Python
Python使用Pandas对csv文件进行数据处理的方法
Aug 01 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
Mar 06 Python
Python Opencv实现单目标检测的示例代码
Sep 08 Python
python3从网络摄像机解析mjpeg http流的示例
Nov 13 Python
详解Python遍历列表时删除元素的正确做法
Jan 07 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&amp;&amp;mysql)一
2006/10/09 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
laravel model 两表联查示例
2019/10/24 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
JavaScript函数定义的常见注意事项小结
2014/09/16 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
2015/11/06 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
2017/02/13 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
Python下的twisted框架入门指引
2015/04/15 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
Python 元组操作总结
2019/09/18 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
Python 高效编程技巧分享
2020/09/10 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
CNC数控操作工岗位职责
2013/11/19 职场文书
大学生简历的个人自我评价
2013/12/04 职场文书
施工资料员的岗位职责
2013/12/22 职场文书
护士毕业自我鉴定
2014/02/07 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
中层干部考核评语
2015/01/04 职场文书
物业保洁员岗位职责
2015/02/13 职场文书
民间借贷借条范本
2015/05/25 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书
bat批处理之字符串操作的实现
2022/03/16 Python
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS