猪行天下之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模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
14天前
|
算法 测试技术 开发者
性能优化与代码审查:提升Python开发效率
【10月更文挑战第12天】本文探讨了Python开发中性能优化和代码审查的重要性,介绍了选择合适数据结构、使用生成器、避免全局变量等性能优化技巧,以及遵守编码规范、使用静态代码分析工具、编写单元测试等代码审查方法,旨在帮助开发者提升开发效率和代码质量。
31 5
|
20天前
|
算法 测试技术 开发者
性能优化与代码审查:提升Python开发效率
【10月更文挑战第6天】本文探讨了性能优化和代码审查在Python开发中的重要性,提供了选择合适数据结构、使用生成器、避免全局变量等性能优化技巧,以及遵守编码规范、使用静态代码分析工具、编写单元测试等代码审查方法,旨在帮助开发者提升开发效率和代码质量。
45 5
|
2天前
|
算法 测试技术 开发者
性能优化与代码审查:提升Python开发效率
探讨了Python开发中性能优化和代码审查的重要性,介绍了选择合适数据结构、使用生成器、避免全局变量等性能优化技巧,以及遵守编码规范、使用静态代码分析工具、编写单元测试等代码审查方法,旨在帮助开发者提升开发效率和代码质量。
19 8
|
1天前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
6 3
|
3天前
|
算法 测试技术 开发者
性能优化与代码审查:提升Python开发效率
性能优化与代码审查:提升Python开发效率
7 1
|
7天前
|
IDE 开发工具 C++
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
本文详细介绍了在离线环境中开发Avalonia UI项目的完整解决方案,包括Visual Studio 2022和JetBrains Rider的离线安装、Avalonia UI模板的配置、私有NuGet服务的部署与使用,以及NuGet包的制作和上传。通过这些步骤,您可以在网络受限或完全离线的环境中顺利进行Avalonia UI项目的开发。
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
|
11天前
|
人工智能 IDE 测试技术
使用通义灵码提升Python开发效率:从熟悉代码到实现需求的全流程体验
作为一名Python开发者,我最近开始使用通义灵码作为开发辅助工具。它显著提高了我的工作效率,特别是在理解和修改复杂代码逻辑方面。通过AI编码助手,我能够在短时间内快速上手新项目,实现新需求,并进行代码优化,整体效率提升了60%以上。通义灵码不仅加快了代码生成速度,还增强了代码的健壮性和稳定性。
|
16天前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
142 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
16天前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
120 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
22天前
|
机器学习/深度学习 自然语言处理 语音技术
使用Python实现深度学习模型:智能产品设计与开发
【10月更文挑战第2天】 使用Python实现深度学习模型:智能产品设计与开发
44 4