受用一生的 PyCharm 技巧大全(二)

这个系列的一些小技巧,对于一些重试用户来说可能是小 case,如果你觉得简单,直接略过即可,不是所有人都像你一样,是个天才,在你之外,仍然有许多刚入门的小伙伴。

6. 神一样的调试技巧

假如我们在一个爬虫的项目中,会使用到 正则表达式 来匹配我们想要抓取的内容。正则这种东西,有几个人能够一步到位的呢,通常都需要经过很多次的调试才能按预期匹配。在我们改了一次正则后,运行了下,需要重新向网站抓取请求,才能发现没有匹配上,然后又改了一版,再次运行同样需要发起请求,结果还是发现还是没有匹配上,往往复复,正则不好的同学可能要进行几十次的尝试。

(上面这个例子可能不太贴切,毕竟是有很多种方法实现不用重新发请求,只是列举了一种很笨拙且低效的调试过程,你看看就好了。)

而我们在这几十次的调试中,向同一网站发起请求都是没有意义的重复工作。如果在 Pycharm 中可以像 IPython Shell 和 Jupyter Notebook 那样,可以记住运行后所有的变量信息,可以在不需要重新运行项目或脚本,只需稍微调整下我们的代码,直接就可以进行正则调试。

答案当然是有。

假如我在调试如下几行简单的代码。在第 3 行处打了个断点。然后点击图示位置 Show Python Prompt 按钮。

就进入了 Python Shell 的界面,这个Shell 环境和我们当前运行的程序环境是打通的,使用的是同一个 namespace,这下你可以轻松地进行调试了。学习过程中有不懂的可以加入我们的学习交流秋秋圈784中间758后面214,与你分享Python企业当下人才需求及怎么从零基础学习Python,和学习什么内容。相关学习视频资料、开发工具都有分享

上面我们打了个断点,是为了方便说明这个效果。并不是说一定要打断点。如果不打断点,在脚本执行完成后,也仍然可以在这个界面查看并操作所有变量。

现在我们已经可以满足我们的调试的需求,但是每次运行脚本,都要手动点击Show Python Prompt ,有点麻烦。嗯?其实这个有地方可以设置默认打开的。这个开头还比较隐秘,一般人还真发现不了。

你需要点击图示位置 Edit Configurations 处。

然后在这里打勾选中。

设置上之后,之后你每次运行后脚本后,都会默认为你存储所有变量的值,并为你打开 console 命令行调试界面。

除了上面这种方法,其实还有一种方法可以在调试过程中,执行命令表达式,而这种大家可能比较熟悉了,这边也提一下,就当是汇总一下。但是从功能上来说,是没有上面这种方法来得方便易用的。因为这种方法,必须要求你使用 debug 模式运行项目,并打断点。

使用方法就是,在你打了断点后,在图示位置处,点击右键使用 Evaluate Expression

就弹出了一个 Evaluate Expression 窗口,这里 可以运行命令表达式,直接操作变量。

7. 指定参数执行脚本

你在 Pycharm 运行你的项目,通常是怎么执行的?我的做法是,右键,然后点击 Run,或者使用快捷键 Shift + F10

有时候,在运行/调试脚本的时候,我们需要指定一些参数,这在命令行中,直接指定即可。

假设在命令行中,运行脚本的命令是这样

python main.py init --local

对于刚使用 Pycharm 的同学,可能并不知道 Pycharm 也是可以指定参数的。点击下图位置

进入设置面板,在 Script parameters 中填入参数即可。学习过程中有不懂的可以加入我们的学习交流秋秋圈784中间758后面214,与你分享Python企业当下人才需求及怎么从零基础学习Python,和学习什么内容。相关学习视频资料、开发工具都有分享

同时在上图的底部,你可以看到,这里可以很方便的切换 解释器,比你跑到这边来要容易得多吧

8. 搜索时过滤测试文件

接下来,介绍一个,我看框架源码的时的一个小技巧,可能只适用一小部分人吧。

我平时会看的框架是 OpenStack ,我不知道其他框架是怎样的,但在 OpenStack 里面带有大量(真的很多)的单元测试文件。这给我在使用Find in Path 时带来了不小的困扰,你可以从下图的搜索结果中感受一下,搜索一个函数,test 文件里的结果比 正常文件要多很多。

这些测试文件的搜索结果,对于我们看源代码不仅没有任何帮助的,更重要的是还干扰视线。于是我就研究了一下,从文件名入手,只要在 File mask里填写 !test* 可以将这些test文件过滤掉。搜索结果一下子清晰很多。

9. 关闭烦人的灯泡提示

先来说下这个灯泡提示是什么,有什么用?

当我们在代码里面有语法错误,或者代码编写不符合 pep8 代码规范时,鼠标选择有问题的代码,就会自动弹出小灯泡,这个灯泡是有颜色之分的,如果是红灯泡,一般都是语法问题,如果不处理会影响代码运行。而如果是黄灯泡,就只是一个提示,提示你代码不规范等,并不会影响程序的运行。

虽然这个灯泡,是出于善意之举,但我认为它确实有点多余(可能是我个人没有使用它的习惯),要是语法错误会有红色波浪线提示。你可能会说灯泡不仅起到提示的作用,它还可以自动纠正代码,我个人感觉并没有人工校正来得效率,来得精准。

基于有时还会像知乎上这个朋友说的这样,会挡住我们的代码,会经常误点,这确实也是一个烦恼。

我研究了下,Pycharm (2018版本)里是有开关按钮的,将下图中的这个选项(Show intention bulb)取消勾选,就可以关闭这个功能。

10. 关闭碍眼的波浪线

下面我先给出了一小段代码示例,思考一下,为什么name,my_name 不会有波浪线,而 myname 和 wangbm 会有波浪线呢?

Pycharm 本身会实时地对变量名进行检查,如果变量名不是一个已存在的英文单词,就会出现一条波浪线,当一个变量里有多个单词时,Python 推荐的写法是用下划线来分隔(其他语言可能会习惯使用驼峰式命名法 ,但 Python 是使用下划线),所以在 Pycharm 看来 my_name 是规范的,而 myname 会被当成是一个单词对待,由于它在单词库里并没有它,所以 myname 是不规范的。学习过程中有不懂的可以加入我们的学习交流秋秋圈784中间758后面214,与你分享Python企业当下人才需求及怎么从零基础学习Python,和学习什么内容。相关学习视频资料、开发工具都有分享

每个人的变量命名习惯不一样,如何你在项目里大量使用了 myname 这种风格的变量命名方法,像下面这样(随便找了一段 cloudinit 的代码),是让人挺不舒服的,总有一种代码有 bug 的错觉。

那么如何关闭这个非语法级别的波浪线呢?很简单,它的开关就在你的右下角那个像 人头像 一样的按钮

然后选择 Syntax 级别的即可。同样一段代码,效果如下,干净了很多。

原文地址:https://blog.51cto.com/14445003/2419836

时间: 2024-11-07 09:12:24

受用一生的 PyCharm 技巧大全(二)的相关文章

受用一生的 PyCharm 技巧大全(一)

大家在学习Python的时候,可以从 PyCharm 入手,写一些可以明显改善开发效率的使用技巧,一旦学会,受用一生.以下代码演示是在 Mac 环境下,Windows 也类似,Command 键 相当于 Windows 上的 Control 键. 1. 代码排版,自动PEP8 pep8 是Python 语言的一个代码编写规范.如若你是新手,目前只想快速掌握基础,而不想过多去注重代码的的编写风格(虽然这很重要),那你可以尝试一下这个工具 - autopep8 首先在全局环境中(不要在虚拟环境中安装

受用一生的 PyCharm 技巧大全(三)

11. 一键进行代码性能分析 在 Python 中有许多模块可以帮助你分析并找出你的项目中哪里出现了性能问题. 比如,常用的模块有 cProfile,在某些框架中,也内置了中间件帮助你进行性能分析,比如 Django ,WSGI. 做为Python 的第一 IDE, PyCharm 本身就支持了这项功能.而且使用非常方便,小白. 假设现在要分析如下这段代码的性能损耗情况,找出到底哪个函数耗时最多 import time def fun1(): time.sleep(1) def fun2():

受用一生的 PyCharm 技巧大全(四)

16. 快速定位到错误行 前几天打开 PyCharm,发现在导航栏这里出现了很多红色波浪线,有过 PyCharm 使用经验的同学,这是代码出现了错误. 顺着波浪线,我一层一层地展开目录树,终于找到了那个包含错误的文件.由于是手误,我也不知道我改动了哪一行,看了下这个文件,有将近8000行的代码,难道一行一行地去找? 不,这绝对不是使用 IDE 正确的方式. 遇到问题,就应该尝试去寻找快捷方法,有没有办法,可以一下子定位到错误代码呢? 这时候,我想起了PyCharm 有提供给我们一个 Keymap

受用一生的 PyCharm 技巧大全(五)

大家好,今天是周五晚.刚好有时间来给大家更新 PyCharm 的使用技巧. 这个系列到今天已经是第五篇了,按照惯例,本次还是分享 5 个. 21. 随处折叠,实现代码自由 PyCharm 里代码块的折叠功能,相当的显眼,在代码编辑框的左侧,你可以发现有 + 也有 -,很容易理解 + 代表代码块被折叠了可以点此展开,而 - 代表这个代码块处于展开状态可以点此折叠. 如果你和我一样是个键盘党,你可以使用快捷(Mac:按住Command键,再按+或者- )进行快速反折叠/折叠. 代码块的折叠和反折叠,

受用一生的高效 PyCharm 使用技巧(一)

PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. 一个每天都在使用的工具,如果能掌握一些高效的使用技巧,肯定会给我们的开发效率带来质的提升.今天我就来写一写我在平时开发中一直在用的,可以明显改善开发效率的使用技巧,一旦学会,受用一生. 01. 代码排版,自动PEP8 pep8 是Python 语言的一个代码编写规范.如若你是新手,目前只想快速掌握基础,而不想过多去注重代码的的编写风格(虽然这很重要),那你可以尝试一下这个工具

微信朋友圈营销快速加好友技巧大全

随着微信对公众号的限制,朋友圈营销越来越受商家重视,而朋友圈的曝光量取决于你的好友数量.为此本人经过多个月的实践和潜心研究,把几乎所有可以加好友的方法都试验了一遍.希望对正在做朋友圈营销,为个人微信号加好友而犯愁的朋友有个帮助.以下方法堪称当前微信个人号免费加好友技巧大全. 前言:请做朋友圈营销的朋友注意了,千万不要整天发广告,这样就算加再多的好友也是没用的,辛辛苦苦加了几千个好友,结果一个个都把你朋友圈给屏蔽了,即浪费时间又浪费感情.建议多发一些生活的照片或随想,或者转发一些对用户比较有价值的

[转]基于Protel DXP软件的PCB高级编辑技巧大全

来源:基于Protel DXP软件的PCB高级编辑技巧大全 一.放置坐标指示 放置坐标指示可以显示出PCB板上任何一点的坐标位置. 启用放置坐标的方法如下:从主菜单中执行命令 Place/Coordinate ,也可以用元件放置工具栏中的 (Place Coordinate)图标按钮. 进入放置坐标的状态后,鼠标将变成十字光标状,将鼠标移动到合适的位置,单击鼠标确定放置,如图1所示. 图 1  坐标指示放置 坐标指示属性设置可以通过以下方法之一: ·在用鼠标放置坐标时按 Tab 键,将弹出 Co

emmet的html和css使用技巧大全

emmet html使用技巧大全 ! 初始化 >:后代+:兄弟^:向上*:乘法$:数字():分组#:id命名.:类命名 一.id,类命名p#infop.infoa[href=#] 二.后代:div#wrap>ul>li*10 三.兄弟:div#wrap>p.one + span.two 四.向上提升一行:^ul>li*10^ol>li*6 五.数字缩写:$ul>li.item$*3 六.多个数量:*ul>li.item$*3 七.分组:()(div.foo&

Photoshop技能167个经典的Photoshop技巧大全

Photoshop技能167个经典的Photoshop技巧大全 学PS基础:Photoshop 技能167个­ 经典的Photoshop技巧大全,如果你是初级阶段的水平,熟读此文并掌握,马上进阶为中级水平.绝对不是广告噢. ­ 1. 快速打开文件­ 双击Photoshop的背景空白处(默认为灰色显示区域)即可打开选择文件的浏览窗口.­ 2. 随意更换画布颜色­ 选择油漆桶工具并按住Shift点击画布边缘,即可设置画布底色为当前选择的前景色.如果要还原到默认的颜色,设置前景色为25%灰度 (R19