代码可读性是评判代码质量的标准之一,有一个衡量代码质量的标准是 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 # windows3、 添加扩展工具,打开 Preferences->Tools->External Tools ,添加一个新的扩展工具,Program 填 black 的安装路径,Arguments 填 $FilePath$

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

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

【编辑推荐】

【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0

python格式化代码快捷键_推荐一个小而美的Python代码格式化工具相关推荐

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

    原标题:推荐一个小而美的 Python 格式化工具 代码可读性是评判代码质量的标准之一,有一个衡量代码质量的标准是 Martin 提出的 "WFT" 定律,即每分钟爆出 " ...

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

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

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

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

  4. python 文本处理库_推荐8种目前Python使用率最高的文本处理工具

    前言 文本处理一般包括词性标注,句法分析,关键词提取,文本分类,情感分析等等,这是针对中 文的,如果是对于英文来说,只需要基本的tokenize.本文为大家提供了以下这些工具包.我整理了Python的 ...

  5. IntelliJ Idea学习笔记004--- idea修改格式化代码快捷键_顺带一个激活地址_以及常用快捷键

    JAVA技术交流QQ群:170933152 1.提取共通代码用:CTRL+ALT+M 3.快速搜索某个文件,用三个Shift同时按下 2. 激活:激活:http://118.25.15.238:410 ...

  6. python和报表生成工具_推荐一个利用 python 生成 pptx 分析报告的工具包:reportgen...

    reportgen v0.1.8 更新介绍 这段时间,我对 reportgen 进行了大工程量的修改和更新.将之前在各个文章中出现的函数进行了封装,同时也对现有工具包的一些逻辑进行了调整. 1.rep ...

  7. python可以用来写什么_对于一个OIer,Python能干些什么?

    Part 0 写在前面 Python是一门比较新的编程语言,火的相当迅速. 这一篇文章会比较全面的告诉你:OIer可以用Python来干嘛? 如有不足,请指出. 更好地阅读体验 Part 1 用来出数 ...

  8. b站python教程哪个好_推荐B站上的Python学习资源

    本文由公号「Python之禅」整理 有读者在后台留言说现在还不能去学校,希望可以推荐一些Python相关的视频教程,这里给大家介绍几个不错的.因为公众号不支持外链点击,所以你需要复制链接在浏览器中打开 ...

  9. python类计算器开发_开发一个简单的python计算器

    详解: 1.str.split(分隔符):将str按分隔符进行切片,最后形成的是列表类型 eg: str = "Line1-abcdef \nLine2-abc \nLine4-abcd&q ...

  10. python的格式化输出学号_安利三个关于Python字符串格式化进阶知识

    点击蓝色"Python空间"关注我丫 加个"星标",每天一起快乐的学习 今 日 鸡 汤 名花倾国两相欢,常得君王带笑看. /前言/ 关于Python字符串格式化 ...

最新文章

  1. 阿里云移动端播放器高级功能---安全播放
  2. 2017年天津市大学生数学竞赛试题 (理工类)
  3. [.NET] 怎样使用 async await 一步步将同步代码转换为异步编程
  4. cvMat结构体详解
  5. 【HTML+PHP+SQL】综合实验:一个简单丑陋的论坛网站(实现用户注册、登录、注销、修改信息、留言等功能)
  6. 关闭Dynamipsgui的自动更新
  7. 小米路由器恢复出厂设置方法详解
  8. 携程异步消息系统实践
  9. Java 性能优化实战工具实践:如何获取代码性能数据?
  10. Transition 调用方法分析
  11. 利用WireShark抓包进行数据分析
  12. 用AI语音机器人有哪些需要注意事项
  13. BPF高阶 - 使用BPF过滤固定特征报文
  14. 极客云上使用anaconda配置python2.7+tensorflow1.8
  15. 一些与OWL相关的推理机的区别(如:Jess、Jena、Pellet等)
  16. 12款福克斯后座中置灯加开关
  17. Python3雷霆战机2D+双人联机+源码+解压运行(总之啥都有)
  18. 高校新闻网-微信小程序
  19. uniapp 打包安卓 Android 抖音app 前后端调试篇~03
  20. 华为1+X网络系统建设与运维(中级)——IPv6协议概述

热门文章

  1. spring boot实战 静态资源处理
  2. C/C++_宏定义神仙级用法 实现枚举字符串互转
  3. android studio程序开机启动,Android Studio中创建和启动AVD【Android】
  4. 通过smtplib和email发送验证码到电子邮箱(Python3.7.X)
  5. java集合uml_Java开源UML建模集合
  6. C++ 在.h文件中包含头文件和在.cpp文件中包含头文件有什么区别?
  7. 《项目经验》静态页面图片找不到
  8. 安卓rom制作教程_【固件更新】SkyMi蛋黄官改ROM最新开发版 12款机型更新
  9. linux 驱动学习
  10. 读书笔记:windows程序设计