原标题:推荐一个小而美的 Python 格式化工具

代码可读性是评判代码质量的标准之一,有一个衡量代码质量的标准是 Martin 提出的 “WFT” 定律,即每分钟爆出 “WTF” 的次数。你在读别人代码或者做 Code Review 的时候有没有 “WTF” 冲动呢?

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

看如下代码:

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

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

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

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

black link.py

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

后者把多个元素放在一行,显然更易读,而且代码更紧凑(如果你的工资是按照代码行数来算的话,不建议这么做),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 即可对当前打开的文件斤西瓜代码格式化,当然,你还可以为其指定一个快捷键,使操作起来更方便。

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

原文:https://www.toutiao.com/a6558976206853636616/返回搜狐,查看更多

责任编辑:

python 格式化工具_推荐一个小而美的 Python 格式化工具相关推荐

  1. 推荐一个小而美的Python代码格式化工具

    代码可读性是评判代码质量的标准之一,有一个衡量代码质量的标准是 Martin 提出的 "WFT" 定律,即每分钟爆出 "WTF" 的次数.你在读别人代码或者做 ...

  2. 用python画的炫酷图形_推荐一个炫酷Python 手绘图形库

    https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts.和 Matplotlib . ...

  3. 如何用python处理图片_推荐:10个Python图像处理工具

    概述了一些常用的Python库,它们提供了一种简单直观的图像转换方法. 介绍 在我们今天的世界中有很多的数据,而图像是这些数据中的重要组成部分.但是,要使用这些图像,需要对它们进行处理.因此,图像处理 ...

  4. python图像处理的书籍推荐_推荐:10个Python图像处理工具

    概述了一些常用的Python库,它们提供了一种简单直观的图像转换方法. 介绍 在我们今天的世界中有很多的数据,而图像是这些数据中的重要组成部分.但是,要使用这些图像,需要对它们进行处理.因此,图像处理 ...

  5. python编程入门书籍推荐-给刚入门python的朋友推荐几本书

    给刚入门python的朋友推荐几本书 1.python编程 从入门到实践 本书是一本针对所有层次的Python读者而作的Python入门书.全书分两部分:首部分介绍用Python 编程所必须了解的基本 ...

  6. 21天精通python电子版_小白21天精通Python是如何做到的?

    第二种:看网站入门教程,很多人推荐的廖雪峰Python教程 第三种:视频教程,推荐慕课网.其他还有网易云课堂,学堂在线(这个里边大学课程比较多) 学写一些基本的Python程序,上述<简明 Py ...

  7. 适合新手入门的8个python项目_推荐:一个适合于Python新手的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  8. Python教程:推荐一个比 open 读文件还好用、方便的库

    使用 open 函数去读取文件,似乎是所有 Python 工程师的共识. 今天给大家推荐一个比 open 更好用.更优雅的读取文件方法 – 使用 fileinput fileinput 是 Pytho ...

  9. 第一个python解释器_第一个python程序

    回顾昨日重点(需记住5*) 三大核心: cpu--运行程序 内存--基于电,存取速度快,断电丢失数据 硬盘--基于磁,存取速度远远慢于内存,断电不丢失数据 操作系统 应用程序 操作系统 (window ...

最新文章

  1. PYTHON __main__
  2. 我的Java开发学习之旅------Base64的编码思想以及Java实现
  3. 阿里高级技术专家:如何结构化地思考、做事、成长?
  4. C#中快速设置控件的相关事件
  5. 为Eclipse plug-in(插件)创建语言包
  6. java jsp公共异常页面_实际应用中JSP页面的异常处理
  7. python打印长方形_利用python打印出菱形、三角形以及矩形的方法实例
  8. clock_gettime参数中不同clock ID含义的差别
  9. STM32编译环境、建立工程模板以及程序下载
  10. Windows Phone 更改datePicker的显示格式
  11. 你能识别这些科技公司的真假logo吗?
  12. 关于数组越界(内存泄漏)的那点事儿(C语言)
  13. oracle改了监听 12514,ORA-12514:TNS 监听问题
  14. ({}+{}).length
  15. html浏览默认ie8,ie8设置默认浏览器
  16. pap.er for mac高清壁纸下载后的储存位置在哪里?小编告诉你!!
  17. Hello, world?Hello, world
  18. 计算机四种传播途径,计算机病毒的传播途径
  19. Mac下command+R和shift+command+R的区别,在线恢复模式的选择
  20. Java毕业设计之ssm流浪猫狗|流浪狗宠物救助网站

热门文章

  1. GOOGLE的摄像头漏洞
  2. Spring配置中的bean直接引用其它bean的属性值
  3. 解决Windows 10下MySQL 5.7中文乱码问题
  4. 8.霍夫变换:线条——基本的霍夫变换算法、霍夫变换的复杂性、霍夫例子_3
  5. android fragment 教程,Android Fragment教程总结
  6. bzoj3130 [SDOI2013]费用流 结论+二分答案+网络流检验
  7. 2017.10.7 phi的反函数 失败总结
  8. 2017.9.27 可持久化并查集 失败总结
  9. 2017.3.14 不重复数字 思考记录
  10. 【英语学习】【WOTD】tenacious 释义/词源/示例