使用Black自由格式化Python
Python是当今使用最多的流行编程语言之一,因为:它是开源的,它有广泛的用途(例如Web编程、业务应用、游戏、科学编程等等),它有一个充满活力和专注的社区支持它。这个社区可以让我们在PythonPackageIndex(PyPI)中有如此庞大、多样化的软件包,用以扩展和改进Python并解决不可避免的问题。
今天,我们将使用Black这个代码格式化工具。
Black
有时创意可能是一件美妙的事情。有时它只是一种痛苦。我喜欢创造性地解决难题,但我希望我的Python格式尽可能一致。没有人对使用“有趣”缩进的代码印象深刻。
但是比不一致的格式更糟糕的是除了检查格式之外什么都没有做的代码审查。这对审查者来说很烦人,对于被审查者来说甚至更烦人。当你的linter告诉你代码缩进不正确时,但没有提示正确的缩进量,这也会令人气愤。
使用Black,它不会告诉你要做什么,它是一个优良、勤奋的机器人:它将为你修复代码。
要了解它如何工作的,请随意写一些非常不一致的内容,例如:
defadd(a,b):returna+b
defmult(a,b):
return\
a*b
Black抱怨了么?并没有,它为你修复了!
$blackmath
reformattedmath
Alldone!
1filereformatted.
$catmath
defadd(a,b):
returna+b
defmult(a,b):
returna*b
Black确实提供了报错而不是修复的选项,甚至还有输出diff编辑样式的选项。这些选项在持续集成(CI)系统中非常有用,可以在本地强制运行Black。此外,如果diff输出被记录到CI输出中,你可以直接将其粘贴到patch中,以便在极少数情况下你需要修复输出,但无法本地安装Black使用。
$black--check--diffbad
---math2019-04-0917:24:22.747815+0000
+++math2019-04-0917:26:04.269451+0000
@@-1,7+1,7@@
-defadd(a,b):returna+b
+defadd(a,b):
+returna+b
defmult(a,b):
-return\
-a*b
+returna*b
wouldreformatmath
Alldone!
1filewouldbereformatted.
$echo$?
以上内容为大家介绍了使用Black自由格式化Python,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/

相关推荐HOT
更多>>
python字符串和Java字符串
接下来,又到了Python字符串与Java字符串PK的时刻。Java中有比较字符串的方法,即compareTo()方法与equals()方法,前一个方法逐一比较两个字符...详情>>
2023-11-05 21:58:02
用Python开发一个简单的猜数字游戏
本文介绍如何使用Python制作一个简单的猜数字游戏。游戏规则玩家将猜测一个数字。如果猜测是正确的,玩家赢。如果不正确,程序会提示玩家所猜的...详情>>
2023-11-05 21:40:12
跟踪数据的Python技巧
了解如何运用Python的某些数据对象,有利于保持井然有序的状态,避免在处理数据科学项目中的大量数据时出错。在数据科学项目中,有时想跟踪数据...详情>>
2023-11-05 20:37:09
Python之描述符
Descriptors(描述符)是Python语言中一个深奥但很重要的一个黑魔法,它被广泛应用于Python语言的内核,熟练掌握描述符将会为Python程序员的工具...详情>>
2023-11-05 18:48:43