使用Black自由格式化Python

在我们覆盖 7 个 PyPI 库的系列文章中了解解决 Python 问题的更多信息。

创新互联建站服务项目包括海晏网站建设、海晏网站制作、海晏网页制作以及海晏网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,海晏网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到海晏省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

Python 是当今使用最多的流行编程语言之一,因为:它是开源的,它有广泛的用途(例如 Web 编程、业务应用、游戏、科学编程等等),它有一个充满活力和专注的社区支持它。这个社区可以让我们在 Python Package Index(PyPI)中有如此庞大、多样化的软件包,用以扩展和改进 Python 并解决不可避免的问题。

在本系列中,我们将介绍七个可以帮助你解决常见 Python 问题的 PyPI 库。在***篇文章中,我们了解了 Cython。今天,我们将使用 Black 这个代码格式化工具。

Black

有时创意可能是一件美妙的事情。有时它只是一种痛苦。我喜欢创造性地解决难题,但我希望我的 Python 格式尽可能一致。没有人对使用“有趣”缩进的代码印象深刻。

但是比不一致的格式更糟糕的是除了检查格式之外什么都没有做的代码审查。这对审查者来说很烦人,对于被审查者来说甚至更烦人。当你的 linter 告诉你代码缩进不正确时,但没有提示正确的缩进量,这也会令人气愤。

使用 Black,它不会告诉你做什么,它是一个优良、勤奋的机器人:它将为你修复代码。

要了解它如何工作的,请随意写一些非常不一致的内容,例如:

 
 
 
  1. def add(a, b): return a+b
  2.  
  3. def mult(a, b):
  4. return \
  5. a * b

Black 抱怨了么?并没有,它为你修复了!

 
 
 
  1. $ black math
  2. reformatted math
  3. All done!
  4. 1 file reformatted.
  5. $ cat math
  6. def add(a, b):
  7. return a + b
  8.  
  9.  
  10. def mult(a, b):
  11. return a * b

Black 确实提供了报错而不是修复的选项,甚至还有输出 diff 编辑样式的选项。这些选项在持续集成 (CI)系统中非常有用,可以在本地强制运行 Black。此外,如果 diff 输出被记录到 CI 输出中,你可以直接将其粘贴到 patch 中,以便在极少数情况下你需要修复输出,但无法本地安装 Black 使用。

 
 
 
  1. $ black --check --diff bad
  2. --- math 2019-04-09 17:24:22.747815 +0000
  3. +++ math 2019-04-09 17:26:04.269451 +0000
  4. @@ -1,7 +1,7 @@
  5. -def add(a, b): return a + b
  6. +def add(a, b):
  7. + return a + b
  8. def mult(a, b):
  9. - return \
  10. - a * b
  11. + return a * b
  12. would reformat math
  13. All done!
  14. 1 file would be reformatted.
  15. $ echo $?
  16. 1

在本系列的下一篇文章中,我们将介绍 attrs ,这是一个可以帮助你快速编写简洁、正确的代码的库。

标题名称:使用Black自由格式化Python
转载来于:http://www.hantingmc.com/qtweb/news45/519595.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联