pycharm关闭科学模式_[效率] 高手常用的 PyCharm 使用技巧(二)
全文阅读预计5分钟
这是涛哥给你推荐的第14篇好文
来源:Python编程时光
在介绍技巧之前,有些话想声明一下,这个系列的一些小技巧,对于一些重试用户来说可能是小 case,如果你觉得简单,直接略过即可,不是所有人都像你一样,是个天才,在你之外,仍然有许多刚入门的小伙伴。
接下来是正文…
此系列的第一篇文章的阅读量还不错,说明大家对 PyCharm 使用技巧还是颇感兴趣的。今天又来给大家推荐一些我自己的用的小技巧,大家择需所取即可。
如果你还没看过,可以下面的传送门,直接访达
[效率] 高手常用的 PyCharm 使用技巧
6. 神一样的调试技巧
假如我们在一个爬虫的项目中,会使用到 正则表达式 来匹配我们想要抓取的内容。正则这种东西,有几个人能够一步到位的呢,通常都需要经过很多次的调试才能按预期匹配。在我们改了一次正则后,运行了下,需要重新向网站抓取请求,才能发现没有匹配上,然后又改了一版,再次运行同样需要发起请求,结果还是发现还是没有匹配上,往往复复,正则不好的同学可能要进行几十次的尝试。
(上面这个例子可能不太贴切,毕竟是有很多种方法实现不用重新发请求,只是列举了一种很笨拙且低效的调试过程,你看看就好了)
而我们在这几十次的调试中,向同一网站发起请求都是没有意义的重复工作。如果在 Pycharm 中可以像 IPython Shell 和 Jupyter Notebook 那样,可以记住运行后所有的变量信息,可以在不需要重新运行项目或脚本,只需稍微调整下我们的代码,直接就可以进行正则调试。
答案当然是有。
假如我在调试如下几行简单的代码。在第 3 行处打了个断点。然后点击图示位置 Show Python Prompt
按钮。
就进入了 Python Shell
的界面,这个Shell 环境和我们当前运行的程序环境是打通的,使用的是同一个 namespace,这下你可以轻松地进行调试了。
上面我们打了个断点,是为了方便说明这个效果。并不是说一定要打断点。如果不打断点,在脚本执行完成后,也仍然可以在这个界面查看并操作所有变量。
现在我们已经可以满足我们的调试的需求,但是每次运行脚本,都要手动点击 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
中填入参数即可。
同时在上图的底部,你可以看到,这里可以很方便的切换 解释器,比你跑到这边来要容易得多吧
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 是不规范的。
每个人的变量命名习惯不一样,如何你在项目里大量使用了 myname 这种风格的变量命名方法,像下面这样(随便找了一段 cloudinit 的代码),是让人挺不舒服的,总有一种代码有 bug 的错觉。
那么如何关闭这个非语法级别的波浪线呢?很简单,它的开关就在你的右下角那个像 人头像 一样的按钮
然后选择 Syntax
级别的即可。同样一段代码,效果如下,干净了很多。
好了,本周的 PyCharm 使用技巧,就是这五个了,你学会了吗?
往期推荐
3大利器推荐,帮你写出规范漂亮的python代码
第9次赠书,35本技术书籍,包邮送!
[效率] 高手常用的 PyCharm 使用技巧
pycharm关闭科学模式_[效率] 高手常用的 PyCharm 使用技巧(二)相关推荐
- pycharm进入科学模式以及退出
今天在学习numpy时,不小心进入了一个科学模式,在下方控制台console多了一堆东西. 如何退出科学模式: 运行Run--编辑配置Edit configurations--在'使用python控制 ...
- ubuntu 如何关闭离线模式_如何在macOS中打开或关闭Mac暗黑模式
苹果在macOS Mojave中为Mac引入了暗模式.暗模式是系统级别的设置,可与Mac随附的所有应用一起使用.第三方应用也可以选择使用暗黑模式.暗黑模式使您更轻松地专注于工作,并且对眼睛也很容易.装 ...
- 常用的一些 CSS 技巧二 — 选择器(伪类与伪元素)
你可以看看其他常用的 CSS 技巧: 常用的一些 CSS 技巧一 常用的一些 CSS 技巧三 CSS 重置盒模型 *, *::before, *::after {box-sizing: border- ...
- PyCharm开启或关闭科学模式
PyCharm 在2017.3版本之后加入了Scientific Mode,在科学计算时,可以方便的追踪变量变化等. 使用NumPy的时候,系统会提示 use scientific mode,但进去后 ...
- win10强制关闭飞行模式_让你的电脑1台变n台 win10自带虚拟机Hyper-V讲解
常玩软件的小伙伴,肯定都知道虚拟机,自然也听说过业界最富名气的Vmware.不过那家伙太庞大了,庞大到一般的电脑跑起来都费劲.其实随着自媒体流行,很多小伙伴也都有了使用虚拟机的需求,比方说录制教程.测 ...
- 为编程而生的字体(附网盘下载链接),Pycharm神器级插件 ^_^ 效率提升利器
工欲善其事,必先利其器 常规字体 Monaco(Mac系统字体) 阿里巴巴普惠体 Lucida Console 为编程而生的字体 Cascadia Code Fira Code 设置连体字方法 Pyc ...
- 配置文件没有关闭保护模式_配置文件:PS自带的海量滤镜 | 照片调色宝典13
本次是该系列第13篇文章,在讲解了Adobe Camera Raw中很多调色原理后,今天我们来说一个很"爽"的功能:它自带47个(如果我没数错)滤镜效果,这个功能就是"配 ...
- 配置文件没有关闭保护模式_别人的Issue很快就能关闭,而我的问题却迟迟没有被解决...
因为TDengine开源的关系,很多小伙伴已经养成了「有事找警察.有理想找Jeff Tao.有问题找GitHub」,截至目前,我们在GitHub上已经有了1800多个Issue,这些Issue的种类也 ...
- 5怎么关闭作弊模式_相机5种主要的拍摄模式该怎么用
初涉摄影的朋友在刚拿到相机时,对相机转盘上的各种拍摄模式比较茫然,自己到底该选用什么模式拍摄? 这一课小编给大家专门介绍下相机转盘上的几个主要拍摄模式,帮助大家解开疑惑,使大家能够正确的选择合适的拍摄 ...
最新文章
- 怎么升级浏览器_下载的chrome无法访问此网站怎么解决
- nginx配置技巧汇总
- (深度卷积生成对抗神经网络)DCGANs论文阅读与实现pytorch
- java并行体系结构
- 【c++进阶:c++ 顺序容器vector,string,deque,list,forward_list,array常用性质】
- java自定义标签简单_JSP 自定义标签之一 简单实例
- 视频号扩展链接助手小程序功能模块源码v1.5.0
- 22.Windows及linux下gerapy使用
- linux下syslog命令,syslog命令
- paip.wmv的无损分割与截取
- android九宫格切图,拼图九宫格切图app
- 查看电脑已安装的cuda版本
- Nginx 配置问题 server directive is not allowed here in /etc/nginx/nginx.conf:69
- P3332 [ZJOI2013]K大数查询 - 整体二分-区间修改
- GMT北京时间表示的时间算法
- python Linux学习之 ansible-- ansible test -m ping运行错误
- 关于如何学习日语的最快方法
- Python — 函数进阶(2)
- elasticsearch数据备份与恢复(kibana操作)
- 平安好医生和智慧教育的AI(语音)技术应用
热门文章
- java年月日时分秒格式_Java 日期时间 LocalDate LocalTime LocalDateTime类
- dart调用python_Dart - Isolate 并发
- Python多线程笔记——简单函数版和类实现版
- 英特尔全部cpu列表_程序员大神Linus转投AMD:我希望英特尔的AVX 512指令集「去死」...
- iphone长截图哪个软件好_iPhone网络电话软件哪个好?
- rfid 标签内存_RFID有源与无源的区别与联系
- C语言丨线性表(四):循环链表
- linux使用vscode运行c,Linux中使用VS Code编译调试C++项目详解
- linux屏幕分辨率文件,Ubuntu 16.04 LTS设置屏幕分辨率显示Unknown display 解决
- mysql返回前2行_取得前一次MySQL操作所影响的记录行数