更多课程 选择中心


Python培训

400-996-5531

运用python代码格式化工具,提高你的工作效率!

  • 发布:刘志军
  • 来源:Python之禅
  • 时间:2018-05-30 14:33

老板为了让我们提高工作效率,绞尽脑汁!我们为了提高工作效率,八仙过海!其实有些时候又很简单,工具的使用、思路的转变等都对我们工作效率的提高有着促进的作用。说了这么多,今天我们Python培训要分享给大家的是一款python代码格式化工具,小巧好用!

为了帮助开发者统一代码风格,Python 社区提出了 PEP8 代码编码风格,它并没有强制要求大家必须遵循,Python 官方同时推出了一个检查代码风格是否符合 PEP8 的工具,名字也叫 pep8,后来被重命名为了 pycodestyle。

看如下代码:

import time, datetime

class ListNode:

def __init__(self, val):

self.val = val

self.next = None

# in python next is a reversed word

def reverse(self, head):

prev = None

while head:

temp = head.next

head.next = prev

prev = head

head = temp

a = [

[

1,

u'hello world',

0

],

[

2,

"hello python",

0

],

]

这是一个不符合 PEP8 的代码段,用 pycodestyle 可检测有哪些地方不符合 PEP8 风格:

$ pycodestyle link.py

link.py:1: [E401] multiple imports on one line

link.py:3: [E302] expected 2 blank lines, found 1

pycodestyle 提示我们有两处地方不符合规范,第一个是单行有多个 import,第二个是类与模块之间需要空两行,这只是一个简单代码示例,真正的业务代码可能有上百行甚至几百行,如果我们要根据 PEP8 规范逐个进行修改建议会非常耗时,而我们的开发过程中,如果时刻关注每一行代码是否完全遵循 PEP8,将影响开发效率。

而有这么一款工具 Black,号称不妥协的代码格式化工具,为什么叫不妥协呢?因为它检测到不符合规范的代码风格直接就帮你全部格式化好,根本不需要你确定,直接替你做好决定。它也是 requests 作者最喜欢的工具之一。

使用非常简单,安装成功后,和其他系统命令一样使用,只需在black命令后面指定需要格式化的文件或者目录就行。

black link.py

python代码格式化工具图一

这是一款小而美的工具,它并不是完全按照 PEP8 规范来格式化,比如默认每行代码的字符数是88个,当然你可以通过参数 -l 自定义长度,能一行显示完成的代码会放在一行,比如有多个元素的列表

# in:

l = [1,

2,

3,

]

# out:

l = [1, 2, 3]

后者把多个元素放在一行,显然更易读,而且代码更紧凑(如果你的工资是按照代码行数来算的话,不建议这么做),Black 是 PEP8 的严格子集。我的最佳实践方式就是使用 PyCharm 自带的格式化工具配合 Black 使用。因为 Black 也支持集成到 Pycharm 中。

如何集成 Pycharm?

1、 安装black:

pip install black

2、 找到 black 的安装路径

$ which black # linux/mac

$ where black # windows

3、 添加扩展工具,打开 Preferences->Tools->External Tools ,添加一个新的扩展工具,Program 填 black 的安装路径,Arguments 填 $FilePath$

添加扩展工具

4、选择 Tools-> External Tools-> Black 即可对当前打开的文件斤西瓜代码格式化,当然,你还可以为其指定一个快捷键,使操作起来更方便。

选择 Tools-> External Tools-> Black

值得注意的是,该工具只支持 Python3.6 环境。

恭喜你阅读完了本文,相信通过本文的阅读你已经了解了这款python代码格式化工具,是不是有点迫不及待地想试试呢?好了,如果在你的测试过程中遇到什么问题,或者你还有其他python相关的问题,欢迎你来达内python培训机构进行咨询。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:教你用python采集拉勾网数据并将其可视化
下一篇:python培训知识点讲解一:python面向对象

如何运用Python编程处理大数据?用Python编程处理大数据的技巧是什么?

Python面向对象编程的知识点都在这了!

Python的高级特征及用法(部分)

听说这些Python知识,很少有人知道!

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省