ITPub博客

首页 > > > 每周分享五个 PyCharm 使用技巧(三)

每周分享五个 PyCharm 使用技巧(三)

作者:liuxuhui 时间:2020-07-08 11:21:55 0 删除 编辑

大家好,这是本系列 PyCharm 的高效使用技巧的第三篇。按照惯例,本次还是分享 5 个。

本系列已经全部更新完成,传送门如下,你可以点击查阅:

Mingle Wong:受用一生的高效 PyCharm 使用技巧(一)​zhuanlan.zhihu.com图标Mingle Wong:每周分享五个 PyCharm 使用技巧(二)​zhuanlan.zhihu.com图标Mingle Wong:每周分享五个 PyCharm 使用技巧(三)​zhuanlan.zhihu.com图标Mingle Wong:每周分享五个 PyCharm 使用技巧(四)​zhuanlan.zhihu.com图标Mingle Wong:每周分享五个 PyCharm 使用技巧(五)​zhuanlan.zhihu.com图标Mingle Wong:每周分享五个 PyCharm 使用技巧(六)​zhuanlan.zhihu.com图标

11. 一键进行代码性能分析

在 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列组成一个表格,见下图。

  1. 表头Name显示被调用的模块或者函数;Call Count显示被调用的次数;Time(ms)显示运行时间和时间百分比,时间单位为毫秒(ms)。
  2. 点击表头上的小三角可以升序或降序排列表格。
  3. 在Name这一个列中双击某一行可以跳转到对应的代码。
  4. 以fun4这一行举例:fun4被调用了一次,运行时间为1000ms,占整个运行时间的16.7%

点击 Call Graph(调用关系图)界面直观展示了各函数直接的调用关系、运行时间和时间百分比,见下图。



右上角的4个按钮表示放大、缩小、真实大小、合适大小;

  1. 箭头表示调用关系,由调用者指向被调用者;
  2. 矩形的左上角显示模块或者函数的名称,右上角显示被调用的次数;
  3. 矩形中间显示运行时间和时间百分比;
  4. 矩形的颜色表示运行时间或者时间百分比大小的趋势:红色 > 黄绿色 > 绿色,由图可以看出fun3的矩形为黄绿色,fun1为绿色,所有fun3运行时间比fun1长。
  5. 从图中可以看出Test.py直接调用了fun3、fun1、fun2和fun5函数;fun5函数直接调用了fun4函数;fun1、fun2、fun3、fun4和fun5都直接调用了print以及sleep函数;整个测试代码运行的总时间为6006ms,其中fun3的运行时间为1999ms,所占的时间百分比为33.3%,也就是 1999ms / 6006ms = 33.3%。

12. 使用Git做版本控制

按照如下提示点击 Git 仓库配置



接着输入仓库地址



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



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



测试连接成功后,点击 Clone 就可以克隆下来了。

对于以前使用 Git 命令来管理的,现在可以直接使用 PyCharm 的菜单栏来操作,这些功能已经可以满足大多数人的日常需求了,应该是够用了。



13. Tab轻松转空格

在团队协作中,你难免会动到别人编辑的文件,有的人喜欢做tab做缩进,有的人喜欢用四个空格做缩进。

但是在同一个Python文件模块里,tab 和 四个空格缩进两种风格是不能共存的。这就需要你按照该文件原来的缩进风格来进行编码,在 Pycharm 里,可以设置自动检测原文件的缩进风格来决定当你使用tab键缩进的时候,是TAB还是四个空格。

在图示位置打勾即可开启自动检测。



上面是对一个旧的 Python 模块进行修改时,如何决定当前编辑的缩进方式。

而对于新建模块,默认的缩进方式,是如何确定的?

如下图,若在 Use tab character 打上勾,则你新建一个 Python 后,就会使用 TAB 进行缩进,反之,则使用四个空格进行缩进。



14. (已删除)

15. 源码文档,快速预览

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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-06-19

  • 博文量
    583
  • 访问量
    11552