PRF:20190502 Format Python however you like with Black.md

@geekpi
This commit is contained in:
Xingyu.Wang 2019-05-11 11:24:44 +08:00
parent 1d59b682e5
commit cb3364d063

View File

@ -1,6 +1,6 @@
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: reviewer: (wxy)
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Format Python however you like with Black)
@ -9,24 +9,25 @@
使用 Black 随意格式化 Python
======
在我们覆盖 7 个 PyPI 库的系列文章中了解更多解决 Python 问题的信息。
> 在我们覆盖 7 个 PyPI 库的系列文章中了解解决 Python 问题的更多信息。
![OpenStack source code \(Python\) in VIM][1]
Python 是当今使用最多的[流行编程语言][2]之一,因为:它是开源的,它有广泛的用途(例如 Web 编程、业务应用、游戏、科学编程等等),它有一个充满活力和专注的社区支持它。这个社区我们在 [Python Package Index][3]PyPI中有如此庞大、多样化的软件包的原因,用以扩展和改进 Python 并解决不可避免的问题。
Python 是当今使用最多的[流行编程语言][2]之一,因为:它是开源的,它有广泛的用途(例如 Web 编程、业务应用、游戏、科学编程等等),它有一个充满活力和专注的社区支持它。这个社区可以让我们在 [Python Package Index][3]PyPI中有如此庞大、多样化的软件包用以扩展和改进 Python 并解决不可避免的问题。
在本系列中,我们将介绍七个可以帮助你解决常见 Python 问题的 PyPI 库。在第一篇文章中,我们了解了 [Cython][4]。今天,我们将使用 **[Black] [5]** 这个代码格式化工具。
在本系列中,我们将介绍七个可以帮助你解决常见 Python 问题的 PyPI 库。在第一篇文章中,我们了解了 [Cython][4]。今天,我们将使用 [Black][5] 这个代码格式化工具。
### Black
有时创意可能是一件美妙的事情。有时它只是一种痛苦。我喜欢创造性地解决难题,但我希望我的 Python 格式尽可能一致。没有人对使用“有趣”缩进的代码印象深刻。
但是比不一致的格式更糟糕的是除了检查格式之外什么都没有的代码审查。这对审查者来说很烦人,对于被审查者来说甚至更烦人。当你的 linter 告诉你你的代码缩进不正确时但没有提示_正确_的缩进量,这也会令人气愤。
但是比不一致的格式更糟糕的是除了检查格式之外什么都没有的代码审查。这对审查者来说很烦人,对于被审查者来说甚至更烦人。当你的 linter 告诉你代码缩进不正确时,但没有提示*正确*的缩进量,这也会令人气愤。
使用 Black它不会告诉你_要_做什么,它是一个优良、勤奋的机器人:它将为你修复代码。
使用 Black它不会告诉你*要*做什么,它是一个优良、勤奋的机器人:它将为你修复代码。
要了解它如何工作的,请随意写一些非常不一致的内容,例如:
```
def add(a, b): return a+b
@ -37,7 +38,6 @@ def mult(a, b):
Black 抱怨了么?并没有,它为你修复了!
```
$ black math
reformatted math
@ -52,7 +52,7 @@ def mult(a, b):
return a * b
```
Black 确实提供了错而不是修复的选项,甚至还有输出 **diff** 编辑样式的选项。这些选项在持续集成 CI 系统中非常有用,可以在本地强制运行 Black。此外如果 **diff** 输出被记录到 CI 输出中,你可以直接将其粘贴到 **patch** 中,以便在极少数情况下你需要修复输出,但无法本地安装 Black。
Black 确实提供了错而不是修复的选项,甚至还有输出 diff 编辑样式的选项。这些选项在持续集成 CI系统中非常有用可以在本地强制运行 Black。此外如果 diff 输出被记录到 CI 输出中,你可以直接将其粘贴到 `patch` 中,以便在极少数情况下你需要修复输出,但无法本地安装 Black 使用
```
@ -77,7 +77,7 @@ $ echo $?
1
```
在本系列的下一篇文章中,我们将介绍 **attrs** ,这是一个可以帮助你快速编写简洁,正确的代码的库。
在本系列的下一篇文章中,我们将介绍 attrs ,这是一个可以帮助你快速编写简洁、正确的代码的库。
--------------------------------------------------------------------------------