猪行天下之Python基础——1.3 Python开发IDE之PyCharm(中)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 内容简述: 1、为什么要使用IDE? 2、PyCharm的下载安装 3、PyCharm的基本使用 4、PyCharm程序调试 5、共用全局的Python解释器

⑤ 错误定位


我们并不能保证我们的程序一定是正确的,有时可能会因为一些问题导致程序 运行停止,那就 需要我们定位到错误位置了,比如我们把print(a)改成print(a/0), 故意引发除0错误。执行结果如下:


F:\Project\Python\Test\venv\Scripts\python.exe F:/Project/
Traceback( most recent call last):
File "F:/Project/Python/Test/test.py",line 2, in <module>
print(a/0)
ZeroDivisionError:division by zero


点击test.py即可定位到错误位置,为第2行,然后进行修改即可。当然,只是这种显而易见的错误能够直接定位到,更复杂的错误就需要通过程序调试来定位了。  


4、PyCharm程序调试


一般的程序调试流程:「下断点」,「单步调试」,「值跟踪


① 下断点


程序执行到断点所在的代码时,会暂停应用程序的运行线程被挂起,然后可以通过调试器进行跟踪


下断点的方式也很简单,点击某行代码的左侧,会出现如图所示的小红点。



这个小红点就是断点,在PyCharm中,有着各种类型的断点:


1. 行断点


对「特定行进行调试」时用到,点击行所在的左侧边栏即可设置。 右键点击这个断点,会弹出如下所示的设置对话框:



如果你取消了Enabled勾选,断点就处于如图所示的禁用状态:



2. 方法断点


把断点下到一个「方法」名前,一般用于检测方法的「输入参数」与「返回值」。比如:



3. 变量断点


有时我们对程序运行过程并不关心,而只「关注某个变量的变化」,可以在变量定义前加一个断点。比如:



在程序运行过程中,如果该变量的值发生改变,程序会自动停下来,并定位到变量值改变的地方,供开发者调试。


4.条件断点(断点设置Condition)


有时会有这样的场景:把断点打到循环体的中,我们只关心特定循环次数下的运行情况。 比如一个循环10次的循环体,我们想知道循环到第8次时的运行情况,如果你不知道条件断点的话,你需要一直按「Run to Cursor」直到满足我们的条件。比如下面的代码:



使用条件断点的话,邮件断点,输入如下所示的「等式条件」:



然后可以发现,程序直接跳到i=8的时候才挂起,非常方便。



5.日志断点


调试的时候我们可以通过打印日志的方式来定位异常代码大概位置,以缩小引发问题的范围,然后再使用断点精确定位问题。如果是普通的打印日志,我们需要等待重新构建程序,如果用「日志断点」就避免这个无意义的等待。使用日志断点非常简单,右键断点,去掉「Suspend」的勾选,会出现如下所示的弹窗,勾选「Evaluate and log」在此输入想输出的内容。



运行调试后,当执行到日志断点的时候可以看到控制台输出了对应的日志信息,而且程序正常运行,并不会挂起。



如果想查看更详细的信息,比如断点的位置和触发时的堆栈信息,可以勾选「"Breakpint hit" message」和「Stacktrace」,勾选后输出内容会变得更详细。


相关实践学习
日志服务之数据清洗与入湖
本教程介绍如何使用日志服务接入NGINX模拟数据,通过数据加工对数据进行清洗并归档至OSS中进行存储。
相关文章
|
7天前
|
分布式计算 并行计算 安全
在Python Web开发中,Python的全局解释器锁(Global Interpreter Lock,简称GIL)是一个核心概念,它直接影响了Python程序在多线程环境下的执行效率和性能表现
【6月更文挑战第30天】Python的GIL是CPython中的全局锁,限制了多线程并行执行,尤其是在多核CPU上。GIL确保同一时间仅有一个线程执行Python字节码,导致CPU密集型任务时多线程无法充分利用多核,反而可能因上下文切换降低性能。然而,I/O密集型任务仍能受益于线程交替执行。为利用多核,开发者常选择多进程、异步IO或使用不受GIL限制的Python实现。在Web开发中,理解GIL对于优化并发性能至关重要。
25 0
|
3天前
|
IDE 开发工具 iOS开发
Python的IDE选择
【7月更文挑战第4天】Python的IDE选择
105 59
|
4天前
|
数据库 Python Windows
Python:Pycharm安装指南
1. 双击安装程序,点击Next。 2. 选择安装路径,Next。 3. 默认选项,添加环境变量,Next。 4. 保持默认设置,点击Install。 5. 安装完成后选择是否立即重启。
11 2
Python:Pycharm安装指南
|
3天前
|
数据采集 SQL 关系型数据库
Python学习路线【对标大厂Python开发工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫
Python学习路线【对标大厂Python开发工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫
30 14
|
4天前
|
JSON 数据格式 Python
Flask实现内部接口----pycharm安装及新建,location代表着文件路径,下面是Python的环境,Flask是由Python开发的框架,Python文件接口ython通过GET发送
Flask实现内部接口----pycharm安装及新建,location代表着文件路径,下面是Python的环境,Flask是由Python开发的框架,Python文件接口ython通过GET发送
|
11天前
python+Pycharm+selenium操作浏览器(Chorme或Edge)
python+Pycharm+selenium操作浏览器(Chorme或Edge)
19 1
|
4天前
|
语音技术 开发者 Python
语音识别,python运行H ~W~,要使用英符,执行Python的流程是输入Python,回车,解释器的两大功能,翻译代码,提交计算机运算,多行代码运行,写一个py文件,pycharm安
语音识别,python运行H ~W~,要使用英符,执行Python的流程是输入Python,回车,解释器的两大功能,翻译代码,提交计算机运算,多行代码运行,写一个py文件,pycharm安
|
4天前
|
数据采集 机器学习/深度学习 算法
LabVIEW与Python的比较及联合开发
LabVIEW与Python的比较及联合开发
|
5天前
|
人工智能 分布式计算 数据挖掘
阿里云 MaxCompute MaxFrame 开启免费公测,统一 Python 开发生态
阿里云 MaxCompute MaxFrame 开启免费公测,统一 Python 开发生态。分布式计算框架 MaxFrame 支持 Python 编程接口并可直接复用 MaxCompute 弹性计算资源及海量数据,100%兼容 Pandas 且自动分布式,与 MaxCompute Notebook、镜像管理等功能共同构成了 MaxCompute 的 Python 开发生态。用户可以以更熟悉、高效、灵活的方式在 MaxCompute 上进行大规模数据分析处理、可视化数据探索分析以及科学计算、ML/AI 开发等工作。
48 0
|
5天前
|
Python
win10下Python与Pycharm的安装与使用
win10下Python与Pycharm的安装与使用
5 0