📜  使用 Black 的Python代码格式化

📅  最后修改于: 2022-05-13 01:54:20.132000             🧑  作者: Mango

使用 Black 的Python代码格式化

编写格式良好的代码非常重要,小程序很容易理解,但随着程序变得复杂,它们变得越来越难以理解。在某些时候,您甚至无法理解您编写的代码。为了避免这种情况,需要以可读格式编写代码。黑色在这里发挥作用,黑色确保代码质量。

什么是黑色?

pycodestyle 或 flake8 之类的 Linters 显示您的代码是否符合 PEP8 格式,这是官方Python样式指南。但问题是它给开发人员带来了修复这种格式样式的负担。 Black 在这里发挥作用,不仅报告格式错误,而且修复它们。

引用项目自述文件:

注意: Black 可以轻松地与许多编辑器集成,例如 Vim、Emacs、VSCode、Atom 或 GIT 等版本控制系统。

安装和使用黑色:

黑色需要安装了 pip 的Python 3.6.0+

$ pip install black

使用黑色非常简单。在终端中运行以下命令。

$ black [file or directory]

这将使用黑色代码样式重新格式化您的代码。
示例 1:让我们创建一个未格式化的文件名“sample.py”,我们希望使用黑色对其进行格式化。下面是实现。

Python3
def is_unique(
               s
               ):
    s = list(s
                )
    s.sort()
 
 
    for i in range(len(s) - 1):
        if s[i] == s[i + 1]:
            return 0
    else:
        return 1
 
 
if __name__ == "__main__":
    print(
          is_unique(input())
         )


Python3
def is_unique(s):
    s = list(s)
    s.sort()
 
    for i in range(len(s) - 1):
        if s[i] == s[i + 1]:
            return 0
    else:
        return 1
 
 
if __name__ == "__main__":
    print(is_unique(input()))


Python3
def function(name, default=None, *args, variable="1123", a, b, c, employee, office, d, e, f, **kwargs):
    """This is function is created to demonstrate black"""
 
 
string = 'GeeksforGeeks'
 
j = [1,
 2,
 3]


Python3
def function(
    name,
    default=None,
    *args,
    variable="1123",
    a,
    b,
    c,
    employee,
    office,
    d,
    e,
    f,
    **kwargs
):
    """This is function is created to demonstrate black"""
 
 
string = "GeeksforGeeks"
 
j = [1, 2, 3]


创建此文件后,运行以下命令。

蟒蛇黑

输出文件:

Python3

def is_unique(s):
    s = list(s)
    s.sort()
 
    for i in range(len(s) - 1):
        if s[i] == s[i + 1]:
            return 0
    else:
        return 1
 
 
if __name__ == "__main__":
    print(is_unique(input()))

在上面的例子中,两者都是相同的片断代码,但使用黑色后,它被格式化,因此易于理解。
示例 2:让我们创建另一个包含以下代码的文件“sample1.py”。

Python3

def function(name, default=None, *args, variable="1123", a, b, c, employee, office, d, e, f, **kwargs):
    """This is function is created to demonstrate black"""
 
 
string = 'GeeksforGeeks'
 
j = [1,
 2,
 3]

在终端中再次编写上述命令后。

蟒蛇黑

输出文件:

Python3

def function(
    name,
    default=None,
    *args,
    variable="1123",
    a,
    b,
    c,
    employee,
    office,
    d,
    e,
    f,
    **kwargs
):
    """This is function is created to demonstrate black"""
 
 
string = "GeeksforGeeks"
 
j = [1, 2, 3]