python 格式化工具_推荐一个小而美的 Python 格式化工具
原标题:推荐一个小而美的 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 格式化工具相关推荐
- 推荐一个小而美的Python代码格式化工具
代码可读性是评判代码质量的标准之一,有一个衡量代码质量的标准是 Martin 提出的 "WFT" 定律,即每分钟爆出 "WTF" 的次数.你在读别人代码或者做 ...
- 用python画的炫酷图形_推荐一个炫酷Python 手绘图形库
https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts.和 Matplotlib . ...
- 如何用python处理图片_推荐:10个Python图像处理工具
概述了一些常用的Python库,它们提供了一种简单直观的图像转换方法. 介绍 在我们今天的世界中有很多的数据,而图像是这些数据中的重要组成部分.但是,要使用这些图像,需要对它们进行处理.因此,图像处理 ...
- python图像处理的书籍推荐_推荐:10个Python图像处理工具
概述了一些常用的Python库,它们提供了一种简单直观的图像转换方法. 介绍 在我们今天的世界中有很多的数据,而图像是这些数据中的重要组成部分.但是,要使用这些图像,需要对它们进行处理.因此,图像处理 ...
- python编程入门书籍推荐-给刚入门python的朋友推荐几本书
给刚入门python的朋友推荐几本书 1.python编程 从入门到实践 本书是一本针对所有层次的Python读者而作的Python入门书.全书分两部分:首部分介绍用Python 编程所必须了解的基本 ...
- 21天精通python电子版_小白21天精通Python是如何做到的?
第二种:看网站入门教程,很多人推荐的廖雪峰Python教程 第三种:视频教程,推荐慕课网.其他还有网易云课堂,学堂在线(这个里边大学课程比较多) 学写一些基本的Python程序,上述<简明 Py ...
- 适合新手入门的8个python项目_推荐:一个适合于Python新手的入门练手项目
随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...
- Python教程:推荐一个比 open 读文件还好用、方便的库
使用 open 函数去读取文件,似乎是所有 Python 工程师的共识. 今天给大家推荐一个比 open 更好用.更优雅的读取文件方法 – 使用 fileinput fileinput 是 Pytho ...
- 第一个python解释器_第一个python程序
回顾昨日重点(需记住5*) 三大核心: cpu--运行程序 内存--基于电,存取速度快,断电丢失数据 硬盘--基于磁,存取速度远远慢于内存,断电不丢失数据 操作系统 应用程序 操作系统 (window ...
最新文章
- PYTHON __main__
- 我的Java开发学习之旅------Base64的编码思想以及Java实现
- 阿里高级技术专家:如何结构化地思考、做事、成长?
- C#中快速设置控件的相关事件
- 为Eclipse plug-in(插件)创建语言包
- java jsp公共异常页面_实际应用中JSP页面的异常处理
- python打印长方形_利用python打印出菱形、三角形以及矩形的方法实例
- clock_gettime参数中不同clock ID含义的差别
- STM32编译环境、建立工程模板以及程序下载
- Windows Phone 更改datePicker的显示格式
- 你能识别这些科技公司的真假logo吗?
- 关于数组越界(内存泄漏)的那点事儿(C语言)
- oracle改了监听 12514,ORA-12514:TNS 监听问题
- ({}+{}).length
- html浏览默认ie8,ie8设置默认浏览器
- pap.er for mac高清壁纸下载后的储存位置在哪里?小编告诉你!!
- Hello, world?Hello, world
- 计算机四种传播途径,计算机病毒的传播途径
- Mac下command+R和shift+command+R的区别,在线恢复模式的选择
- Java毕业设计之ssm流浪猫狗|流浪狗宠物救助网站
热门文章
- GOOGLE的摄像头漏洞
- Spring配置中的bean直接引用其它bean的属性值
- 解决Windows 10下MySQL 5.7中文乱码问题
- 8.霍夫变换:线条——基本的霍夫变换算法、霍夫变换的复杂性、霍夫例子_3
- android fragment 教程,Android Fragment教程总结
- bzoj3130 [SDOI2013]费用流 结论+二分答案+网络流检验
- 2017.10.7 phi的反函数 失败总结
- 2017.9.27 可持久化并查集 失败总结
- 2017.3.14 不重复数字 思考记录
- 【英语学习】【WOTD】tenacious 释义/词源/示例