python black
Python是当今使用的最流行的编程语言之一,并且有充分的理由:它是开源的,具有广泛的用途(例如Web编程,业务应用程序,游戏,科学编程等等),并且有一个充满活力和敬业精神的社区来支持它。 这个社区的原因是我们在Python软件包索引 (PyPI)中拥有如此众多,种类繁多的软件包,以扩展和改进Python并解决不可避免的小问题。
在本系列中,我们将研究七个PyPI库,它们可以帮助您解决常见的Python问题。 在第一篇文章中,我们了解了Cython 。 今天,我们将研究Black代码格式化程序。
黑色
有时候创造力可能是一件很棒的事。 有时候,这只是一种痛苦。 我喜欢创造性地解决难题,但是我希望Python的格式尽可能一致。 从来没有人对使用“有趣”缩进的代码印象深刻。
但是比不一致的格式更糟糕的是,代码审核仅由格式化尼特组成。 这使审阅者感到烦恼,甚至使审阅代码的人感到烦恼。 当您的linter告诉您代码不正确缩进,但没有给出正确缩进量的提示时,这也很令人生气。
输入黑色。 Black并不是告诉您怎么做,而是一个很好的,勤奋的机器人:它将为您修复代码。
要查看其工作原理,请随意编写一些类似以下内容的精美文章:
def add
( a
, b
) :
return a+b
def mult
( a
, b
) :
return \
a * b
布莱克会抱怨吗? 天哪,它只是为您解决了!
$ black
math
reformatted
math
All done
! ✨ 🍰 ✨
1
file reformatted.
$ cat
math
def add
( a
, b
) :
return a + b
def mult
( a
, b
) :
return a * b
Black确实提供了失败而不是修复甚至输出diff风格编辑的选项。 这些选项在强制本地运行Black的持续集成(CI)系统中非常有用。 此外,如果diff输出记录到CI输出,则在极少数情况下需要修复输出但无法在本地安装Black的情况下,可以将其直接粘贴到补丁中。
$ black --check --diff bad
---
math
2019 -
04 -
09
17 :
24 :
22.747815 +
0000
+++
math
2019 -
04 -
09
17 :
26 :
04.269451 +
0000
@@ -
1
,
7 +
1
,
7
@@
-
def add
( a
, b
) :
return a + b
+
def add
( a
, b
) :
+
return a + b
def mult
( a
, b
) :
-
return \
- a * b
+
return a * b
would reformat
math
All done
! 💥 💔 💥
1
file would be reformatted.
$ echo $?
1
在本系列的下一篇文章中,我们将介绍attrs ,该库可帮助您快速编写简洁,正确的代码。
python black