python可以加断点调试吗

Python010

python可以加断点调试吗,第1张

Python中可以加断点调试

断点(break point)是指在代码中指定位置,当程序运行到此位置时便中断下来,并让开发者可查看此时各变量的值。

断点中断的程序并没有结束,可以选择继续执行。

实现断点调试需要 IDE 的支持。下面以 PyCharm 来演示一下

在某一行代码的左侧栏点击,就可以在这行增加断点。现在在 3 个 if 判断的地方都加上断点。

选择 debug,程序开始运行。

输入 a、b 两个值之后,程序就在第一个 if 处中断,并且在工具栏中显示出当前程序中的各种数值。

选择“resume program”,程序就会继续执行,直到遇到下一个断点。

有了断点功能的帮助,调试的时候就方便许多,很容易观察程序运行时的状态。

在断点调试时,还有个经常一起使用的功能就是单步调试。

在程序中断时,选择“Step Over”,会向下执行一行代码后继续中断。

当所处代码行中有函数时,“Step Into”会中断在函数内部,之后将在其中单步执行。对应的,“Step Out”将中断在执行完当前所在函数后的位置。

这些操作在工具栏有快捷按钮,也可通过快捷键操作。

更多Python知识,请关注:Python自学网!!

PyCharm

作为IDE,断点调试是必须有的功能。否则,我们还真不如用纯编辑器写的快。

【运行】和【调试】前的设置,详见前面的文章,helloword。

1,设置断点

在代码前面,行号的后面,鼠标单击,就可以设置断点。如下:

2,调试

断点

点击那个绿色的甲虫图标(似乎甲虫已经成为debug专用图标了),进行断点调试。

点击后,会运行到第一个断点。会显示该断点之前的变量信息。

点击Step

Over

或者按F8,我们继续往下运行,到下一个断点:

补充:

断点的其他操作,和功能,大家可以把鼠标移到相应的按钮上,看一下,试试便知。如下:

总结:

这就是PyCharm的断点功能,还是很简单易用的。

就第一次会停下来,其他几次应该都不会停下来的

首先,for循环的条件是只执行一次,也就是并不是每次yield_test()都会运行,这个函数其实拿到的是一个生成器对象,然后你是在遍历这个迭代器,并没有去重新执行函数,直到生成器全部生成完成后就往函数下面去执行,所以只会触发一次生成器的初始化中断,其他不会停下来。不理解可以参考下面的图片: