Pycharm debug程序,跳转至指定循环条件/循环次数问题

 更新时间:2023年08月03日 08:40:16   作者:HealthScience  
这篇文章主要介绍了Pycharm debug程序,跳转至指定循环条件/循环次数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Pycharm debug程序,跳转至指定循环条件/循环次数

在断点出右键,然后设置条件 

示例

for i in range(1,100):
    a = i + 1
    b = i + 2
    print(a, b, i)

注意

1、你应该debug断点在循环后的位置而不是循环上的位置,然后你就可以设置你的条件进入到指定的循环上了

2、设置条件,要使用等于符号“==”而不是赋值符号“=”

3、在设置断点条件的位置,条件应该是出现过的变量,

例如下面设置“a==15”是正确的、“b==15”就是错误的,因为b在这一行运行之前还没有出现

在运行过程中设置条件,从而直接运行到这次的条件循环,而不需要重新debug

例如此时你设置了断点,但是没有设置断点条件,此时i=1是第一次循环

 此时你想调到第15次循环,也就是条件“I==15”,那么你不需要重新debug,而只需要在本次运行中设置循环条件,然后直接“Step out”就可以了【Shift + F8】

成功进入第15次循环:

Pycharm中Debug的高级技巧

1.断点条件调试

有这样一个场景,代码 DeBug 的时候,我想知道下面代码 index 为 10 时, date_1的值是什么,正常来说要 代码 DeBug 循环 10 次,很不方便。

在 IDE 中有个条件断点,只需设置好变量条件,只有当某个变量等于你设置的条件的值时,断点就会自动停下。

首先右击第 24 行的断点,给 Conditon 设置变量条件 index == 10,并点击 Done 保存设置。

当 index 的值为 10 时,DeBug 就会自动停下,效果如下图

2.计算表达式

当我们 Debug 某个方法时,有时候会忘了传入某个参数或者传错了,这个时候又不想重新Debug,

就可以通过计算表达式来设置某个变量的值,如下图,发现 day_int = 367 不是期望的值,可以鼠标右击下面蓝色的 day_int , 选择 Set Value, 对 day_int 临时修改值

下面的代码程序会根据重新赋的值向下运行,可以看到变量 num_30 的值是 200 整除 30 的结果。

3.调试神器 pdb

准备文件

在调试之前先将这两个文件准备好(做为演示用),并放在同级目录中。

utils.py

def sum(mylist):    
	result = 0    
	for item in mylist:        
		result += item    
	return result
- pdb_demo.py
import utils
def myfunc(mylist):    
	result = utils.sum(mylist)    
	print(result)
if __name__ == '__main__':    
	print("----start----")    
	myfunc([1,2,3,4])    
	print("----end-----")

输出:

----start----
10
----end----

进入调试模式 (主要有两种方法)

做为脚本调用,方法很简单,就像正常执行python脚本一样,只是多加了-m pdb

ptyhon -m pdb pdb_demo.py

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何用Python将图片转为字符画

    如何用Python将图片转为字符画

    本文主要介绍了用Python将图片转为黑白字符画的方法,使用ascii字符把图片转为黑白字符画,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Numpy中转置transpose、T和swapaxes的实例讲解

    Numpy中转置transpose、T和swapaxes的实例讲解

    下面小编就为大家分享一篇Numpy中转置transpose、T和swapaxes的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python如何每天在指定时间段运行程序及关闭程序

    python如何每天在指定时间段运行程序及关闭程序

    这篇文章主要介绍了python如何每天在指定时间段运行程序及关闭程序问题,具有很好的参考价值,希望对大家有所帮助。
    2023-04-04
  • 理解Python数据离散化手写if-elif语句与pandas中cut()方法实现

    理解Python数据离散化手写if-elif语句与pandas中cut()方法实现

    这篇文章主要介绍了通过手写if-elif语句与pandas中cut()方法实现示例理解Python数据离散化详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • 在pycharm中使用matplotlib.pyplot 绘图时报错的解决

    在pycharm中使用matplotlib.pyplot 绘图时报错的解决

    这篇文章主要介绍了在pycharm中使用matplotlib.pyplot 绘图时报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 使用python-cv2实现Harr+Adaboost人脸识别的示例

    使用python-cv2实现Harr+Adaboost人脸识别的示例

    这篇文章主要介绍了使用python-cv2实现Harr+Adaboost人脸识别的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • python解决网站的反爬虫策略总结

    python解决网站的反爬虫策略总结

    网站做了很多反爬虫工作,爬起来有些艰难,本文详细介绍了python解决网站的反爬虫策略,有需要的小伙伴可以参考下。
    2016-10-10
  • Python中pytest命令行实现环境切换

    Python中pytest命令行实现环境切换

    在自动化测试过程中经常需要在不同的环境下进行测试验证,所以写自动化测试代码时需要考虑不同环境切换的情况,本文主要介绍了Python中pytest命令行实现环境切换,感兴趣的可以了解一下
    2023-07-07
  • Python爬虫小例子——爬取51job发布的工作职位

    Python爬虫小例子——爬取51job发布的工作职位

    这篇文章主要介绍了Python爬取51job发布的工作职位,文中讲解非常细致,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
    2020-07-07
  • Python 类方法和静态方法之间的区别

    Python 类方法和静态方法之间的区别

    这篇文章主要介绍了Python 类方法和静态方法之间的区别,静态方法并不是真正意义上的类方法,它只是一个被放到类里的函数而已,更多内容需要的朋友可以参考一下
    2022-07-07

最新评论