Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-pagenavi domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/blog.zhujinhui.net/wp-includes/functions.php on line 6114

Notice: 函数 _load_textdomain_just_in_time 的调用方法不正确twentyseventeen 域的翻译加载触发过早。这通常表示插件或主题中的某些代码运行过早。翻译应在 init 操作或之后加载。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 6.7.0 版本添加的。) in /var/www/blog.zhujinhui.net/wp-includes/functions.php on line 6114
编程技巧 – 煅魂-JeffreyChu的修炼屋

PyCharm这些强大的功能你都用过吗

简介

PyCharm是一款强大的Python集成开发环境(IDE),由JetBrains公司开发。它提供了丰富的功能和工具,用于简化和加速Python的开发过程。

PyCharm具有智能代码编辑器代码自动补全调试器版本控制集成代码重构单元测试可视化调试等功能,帮助开发人员提高生产力和代码质量。PyCharm是Python开发者的首选工具,能够提供全面的开发支持和优化的开发体验。

功能

断点调试

  • 按照意愿进行代码断点,包括第三方库的代码
  • 查看断点处上下文各个变量
  • 根据上下文变量进行表达式运算
  • 支持行级调试,函数级调试,模块级调试

分屏

  • 上下分屏
上下分屏
  • 左右分屏
左右分屏

连接中间件服务

PyCharm提供各种中间件的client安装、连接服务、工作台,包括:

  • MySQL
MySQL
  • Redis
Redis
  • SQLite
SQLite

git支持

  • 查看分支结构
  • 查看最近修改人
  • 查看代码修改前后差异

命令行支持

  • 执行普通命令(相当于执行系统命令),比如date,ls
普通命令
  • 支持虚环境命令,配置项目Python解释器,可以支持Python第三方库的命令,比如pip,pyenv等
虚环境命令

console

Python GUI加强版,支持IPython

全局查找/替换

  • 支持全等/正则匹配的查找/替换:比如某个变量需要多个查找/替换
  • 块级:只在选中的代码块进行查找/替换
  • 模块级:只在某个模块查找/替换
  • 项目级:在全局查找/替换,并且支持预览

代码结构

支持快速浏览模块内的代码结构,快速定位到类/属性/函数/方法

代码结构

代码格式化

使用快捷键(如图所示)或者点击图中的“重新格式化代码”可快速对代码进行PEP 8规范的格式化

代码格式化

支持markdown文档

  • 编写文档:本人博客就是在PyCharm中写完之后再进行一些标题润色后生成的
编写文档
  • 实时预览效果
预览

pycharm的debug功能原来这么好用

大部分程序猿都知道,不管是开发新功能还是修复BUG,其实真正写代码的时间是非常少,因为大部分的时间都是消耗在了运行/测试也就是调试(debug)上了,所以掌握快捷高效的调试方法将会让你事半功倍。

PyCharm是由JetBrains公司开发的Python集成开发环境(IDE),凭借其强大的调试功能而广受欢迎。今天将详细介绍PyCharm的调试功能,非常简单又好用。

PyCharm调试功能简介

PyCharm提供了多种强大的调试工具,它让我们能够清楚了解代码每一步是怎么运行的,尤其是对新手或者对熟悉新项目的非常友好和有效。调试(debug)功能其中包含自定义命令断点设置调试控制变量监控表达式评估日志点条件断点

接下来以使用python http库请求百度首页的一个简单脚本来展示调试(debug)功能使用过程。

自定义命令

打开调试(debug)配置,点击“+”创建一个新的调试(debug),或者对一个已经存在的配置进行修改

这个面板支持以下重要的配置修改:

  • python环境版本
  • 脚本文件路径,每个调试都可以指定不同的脚本
  • 脚本参数
  • 脚本所运行目录
  • 运行脚本时的环境变量,这在本地调试非常方便,可以用于区别线上生产环境

修改完之后,点击应用(apply)和保存(save)来应用这些配置,当你点击调试(debug)时这些面板参数组成一个shell命令进行执行,类似于

python xxxx.py --abc -def 123

设置断点

首先,打开需要调试的Python文件。在代码编辑器中,单击行号旁边的空白区域以设置断点。断点将以红点的形式显示。

启动调试

由于刚刚上面已经面板参数中已经指定了具体的脚本了,所以点击调试(debug)按钮(一个绿色长得像虫子的按钮)就可以开始执行脚本调试了

还一种更快捷的方式启动调试,就是右键单击文件中的代码,然后选择调试文件(Debug ‘filename’)(或通过快捷键Shift + F9)。PyCharm将启动调试会话

使用调试控制选项

一旦程序暂停在断点处,此时PyCharm提供了以下调试控制选项(mac的键位可能有点不一样,以下是window的键位):

继续执行(F9):继续执行代码,直到遇到下一个断点或程序结束,在循环比较多的代码非常好用。
逐步执行(F8):逐行执行代码,并自动进入函数调用,这个在一些复杂的代码里非常好用。
逐步出入函数(Shift + F8):逐步进入或退出函数调用。
逐步进入(F7):逐行执行代码,并进入函数调用。

查看变量和表达式求值

在调试过程中,你可以查看“变量”窗口中的变量值。你还可以在”监视(Watches)“选项卡中添加自定义监视表达式。例子中我们可以清楚看到脚本里每个中间变量如“url”以及一些预测变量如”resp.read().decode(“utf-8”)“。


另外,你可以通过右键单击代码并选择”对表达式求值(Evaluate Expression)“来评估表达式。输入表达式并查看结果。

这个功能可以代替平常临时用print去打印一些脚本中间变量的用法,而且也不会产生忘记删除print留下无用日志之类的后遗症,让自己能更加清晰的看到一些中间变量的数据结构逻辑处理过程。

设置日志点和条件断点

在调试过程中,你可以通过右键单击断点并选择”编辑(Edit breakpoint)“来设置日志点和条件断点。输入条件表达式或日志消息,然后保存。比如下面这个设置了只有请求为200时才会触发断点,其他情况则会跳过不触发。

四、总结
PyCharm提供了全面而强大的调试工具,使得调试Python代码变得更加容易和高效。通过熟练掌握这些功能,你可以更快地找到代码中的问题并进行修复,提高开发和调试效率。你学会了吗?