首页 > > > 每周分享五个 PyCharm 使用技巧(三)
大家好,这是本系列 PyCharm 的高效使用技巧的第三篇。按照惯例,本次还是分享 5 个。
本系列已经全部更新完成,传送门如下,你可以点击查阅:
Mingle Wong:受用一生的高效 PyCharm 使用技巧(一)
Mingle Wong:每周分享五个 PyCharm 使用技巧(二)
Mingle Wong:每周分享五个 PyCharm 使用技巧(三)
Mingle Wong:每周分享五个 PyCharm 使用技巧(四)
Mingle Wong:每周分享五个 PyCharm 使用技巧(五)
Mingle Wong:每周分享五个 PyCharm 使用技巧(六)
在 Python 中有许多模块可以帮助你分析并找出你的项目中哪里出现了性能问题。
比如,常用的模块有 cProfile,在某些框架中,也内置了中间件帮助你进行性能分析,比如 Django ,WSGI。
做为Python 的第一 IDE, PyCharm 本身就支持了这项功能。而且使用非常方便,小白。
假设现在要分析如下这段代码的性能损耗情况,找出到底哪个函数耗时最多
import time
def fun1():
time.sleep(1)
def fun2():
time.sleep(1)
def fun3():
time.sleep(2)
def fun4():
time.sleep(1)
def fun5():
time.sleep(1)
fun4()
fun1()
fun2()
fun3()
fun5()点击 Run -> Profile '程序' ,即可进行性能分析。

运行完毕后,会自动跳出一个性能统计界面。

性能统计界面由Name、Call Count、Time(ms)、Own Time(ms) ,4列组成一个表格,见下图。
点击 Call Graph(调用关系图)界面直观展示了各函数直接的调用关系、运行时间和时间百分比,见下图。

右上角的4个按钮表示放大、缩小、真实大小、合适大小;
按照如下提示点击 Git 仓库配置

接着输入仓库地址

点击 Test,测试连通性,会要求输入密码

若一切顺利,则会看到如下界面

测试连接成功后,点击 Clone 就可以克隆下来了。
对于以前使用 Git 命令来管理的,现在可以直接使用 PyCharm 的菜单栏来操作,这些功能已经可以满足大多数人的日常需求了,应该是够用了。

在团队协作中,你难免会动到别人编辑的文件,有的人喜欢做tab做缩进,有的人喜欢用四个空格做缩进。
但是在同一个Python文件模块里,tab 和 四个空格缩进两种风格是不能共存的。这就需要你按照该文件原来的缩进风格来进行编码,在 Pycharm 里,可以设置自动检测原文件的缩进风格来决定当你使用tab键缩进的时候,是TAB还是四个空格。
在图示位置打勾即可开启自动检测。

上面是对一个旧的 Python 模块进行修改时,如何决定当前编辑的缩进方式。
而对于新建模块,默认的缩进方式,是如何确定的?
如下图,若在 Use tab character 打上勾,则你新建一个 Python 后,就会使用 TAB 进行缩进,反之,则使用四个空格进行缩进。

Ctrl + 鼠标左键 (Mac 上是:Command + 鼠标左键),可以实现函数跳转查看源码, 这几乎是每一个 PyCharmer 都会的一个惯用技巧。
这里再另外介绍两个类似的小技巧,快速 查看函数文档 和 预览源代码 。
在函数的开头处,使用三个引号 " 包含的内容,叫做函数文档 (DocString)。
在编写代码时,顺便写好函数的接口文档,是一个很好的编码习惯。它介绍了该函数的参数类型及说明,返回值类型及范例,写得好一点的还会写出 几个简单的 Example Usage 有助于理解使用。在这一点上,Flask 可以说做得相当好。这边随便截一个 Werkzeug 的例子。

假如我们在使用这个类的时候,忘记了这个用法,可以按住 Ctrl + q(Mac暂时未找到对应快捷键),在当前页面就可以快速预览 LocalStack 的接口文档。

同样的,如果你对这个类或者函数的代码逻辑感兴趣,也可以使用快速预览的方式在当前页面展示源代码。快捷键是:Ctrl + shift + i (Mac:Command + shift + i)。效果如下

如果 PyCharm 检测到的同名函数有多个,可以点这里进行选择查看

这两个快捷键比起使用 Ctrl + 鼠标左键 跳进源代码来说,更加方便,,就像微信小程序一样,用完即焚,不会新产生一个标签页,也不需要来回跳转页面。
好了,本周的分享的高效技巧就是这 5 个,你学会了吗?
下周末还会更新 5 个,敬请期待,为防走丢,请及时关注本专栏更新!!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/756/viewspace-3138256/ ,如需转载,请注明出处,否则将追究法律责任。