一键格式化Python代码的黑魔法-black使用教程

在Python编程领域,代码的可读性和规范性是非常重要的,因为良好的代码能够提高团队合作的效率,减少维护成本,并且有利于代码的持续集成和部署。为了保持代码的一致性和规范性,Python社区开发了许多工具和规范,其中一个非常知名的工具就是black。

black是一款受欢迎的自动化的Python代码格式化工具,它可以帮助开发者自动格式化Python代码,使之符合PEP 8规范。它能够根据一系列的规则自动调整代码的格式,从而使代码更加整洁、易读和一致。这款工具在我的产品开发中经常使用。

它的目标是强制性地使用PEP 8(Python编码风格指南)的规范,并且不需要我们进行任何人工干预。black使用了一种称为"uncompromising code formatter"的策略,即自动格式化代码而无需考虑任何个人偏好或者项目风格。

介绍

Python3 black工具是一个强大的自动化代码格式化工具,它可以提高代码的可读性和规范性,减少团队协作的难度。通过自动格式化代码,使用黑色的代码风格,我们可以保持代码的一致性,提高团队协作效率,提高项目的可维护性。遵循最佳实践,并与团队成员进行良好的沟通和协商,将black集成到我们的日常开发流程中,将会给我们带来更好的开发体验和代码质量。

Black 在代码检查工具当中算是比较新的一个。它与 Autopep8 和 Yapf 类似,但限制较多,没有太多的自定义选项。这样的好处是不需要去决定使用怎么样的代码风格,让Black来做决定就好。

Black依赖于Python 3.6+,但它可以格式化用Python 2编写的代码。

black的特点

black可以轻松地集成到开发工作流程中,具有以下特点和优点:

black的特点包括自动化、一致性和简洁性,它可以减少代码审查和讨论的时间,提高团队的协作效率。

1. 自动化格式化:black会自动检测代码中的语法、缩进、空行、换行等问题,并根据PEP 8规范进行调整。这减少了我们手动格式化代码的工作量,并确保代码的一致性和可读性。

2. black配置选项很少甚至不需要配置:black的设计理念是使得所有的代码格式都是相同的,因此没有任何配置选项。这样一来,团队中的每个我们都可以使用相同的黑色代码风格,减少了因个人偏好而产生的代码格式不一致的问题,避免因为配置选项太多反而导致格式规范不一致。

3. 容易集成:black可以很容易地与其他开发工具集成,比如编辑器、IDE、代码库等。许多流行的代码编辑器和IDE(如VS Code、PyCharm、Sublime Text)都提供了black的插件或者集成,让我们能够在保存代码时自动使用black进行格式化。

4. 扩展性:black支持许多自定义选项和忽略规则,以满足不同项目的需求。我们可以通过制定特定的选项,调整black的行为,以适应项目的特定要求。

5. 强制使用团队规范:black确保了整个团队使用相同的代码风格,避免了团队成员之间的代码格式之争。这对于维持高质量的代码库和提高团队协作非常重要。

安装&配置

可以通过以下命令使用pip安装Black,执行:

pip install black

如果你使用conda作为包管理器,可以使用以下命令安装Black:

conda install -c conda-forge black

安装完之后,即可在Scripts目录下看到black.exe的可执行文件

Pycharm中配置black

其他配置选项可以参考官方文档,关于在IDE PyCharm中配置可以参考前面Ruff和pylint的使用配置。如下即为我的配置选项

配置完后,即可在外部工具中使用black

接下来分享下我对black的使用实践

black的使用及最佳实践

在使用Black进行Python代码格式化时,为了获得最佳效果和体验,可以考虑以下最佳实践:

1. 在项目中使用版本控制:在项目中使用版本控制(如Git)可以帮助我们更好地管理代码,并保留历史记录。在使用black之前,确保我们的代码已经提交到版本控制仓库中,并创建一个新的分支以进行格式化。

2. 预览和比对更改,关注格式化结果:在运行black之前,建议我们先预览即将发生的更改。black提供了一个`–diff`选项,可以显示要更改的每个文件的差异。这样可以更好地了解black将如何更改代码,并确认更改是否符合预期。因为虽然Black可以自动格式化代码,但有时也可能会产生不符合预期的结果。因此,在执行格式化操作后,建议仔细检查格式化的结果,确保代码的可读性和可维护性没有受到影响。

3. 进行批量格式化:black可以批量格式化整个项目的代码。可以使用`black .`命令来格式化当前目录和子目录下的所有Python文件。请注意,这将直接更新文件的内容,请确保在运行之前已经备份了我们的代码。

4. 配置编辑器插件:大多数流行的编辑器(如VS Code、PyCharm等)和IDE都提供了black的插件或者集成。安装和配置适当的插件,可以在保存代码时自动运行black进行格式化,并及时给出反馈,提高代码质量。

5. 遵循团队规范:black是一种团队规范的工具,所以一定要在项目或团队中确立black的使用规则,包括使用何种选项和规则,并与团队成员共享。

6. 结合lint工具:最后一点,Black还可以与其他lint工具(如flake8、pylint等)结合使用,进一步提高代码的质量。lint工具可以帮助检查代码中的潜在问题,并与Black一起使用,可以更好地保证代码的可读性和可维护性。

命令行参数

此处我总结下Black工具常用的一些命令行参数,其他的可以参考官方文档:

–line-length=:设置每行的最大字符数,默认为88。

–skip-string-normalization:跳过对字符串的规范化处理。

–include=:设置要包含的文件或目录模式。

–exclude=:设置要排除的文件或目录模式。

对指定的目录或文件进行扫描

执行 black path/to/dirblack path/to/module.py 就可以使用Black 优化代码。

格式化单个文件

可以使用以下命令对单个Python文件进行格式化:

black /path/to/file.py

在PyCharm中对单个文件进行扫描

这将直接修改文件中的代码,使之符合PEP 8规范。

格式化整个目录

可以使用以下命令对整个目录下的所有Python文件进行格式化:

black /path/to/directory

PyCharm中对整个项目工程进行扫描

Black将递归地遍历目录,并对所有Python文件进行格式化。

格式化代码片段

black还可以使用以下命令对代码片段进行格式化:

black -l 79 -

然后输入要格式化的代码片段,并按Ctrl + D结束输入。

更多关于Python的相关技术点,敬请关注公众号:CTO Plus后续的发文,有问题欢迎后台留言交流。

最后

Black是一款受欢迎的Python代码格式化工具,它可以帮助开发者自动格式化Python代码,使之符合PEP 8规范。通过使用Black,开发者可以减少代码审查和讨论的时间,提高团队的协作效率。在使用Black时,可以结合版本控制、关注格式化结果、配合编辑器插件和结合lint工具等最佳实践,进一步提高代码的质量和可维护性。让我们一起使用Black,让Python代码更加规范和美观!

---------------------------END---------------------------

题外话

“不是只有程序员才要学编程?!”

认真查了一下招聘网站,发现它其实早已变成一项全民的基本技能了。

连国企都纷纷要求大家学Python!
在这里插入图片描述

世界飞速发展,互联网、大数据冲击着一切,各行各业对数据分析能力的要求越来越高,这便是工资差距的原因,学习编程顺应了时代的潮流。

在这个大数据时代,从来没有哪一种语言可以像Python一样,在自动化办公、爬虫、数据分析等领域都有众多应用。

更没有哪一种语言,语法如此简洁易读,消除了普通人对于“编程”这一行为的恐惧,从小学生到老奶奶都可以学会。

《2020年职场学习趋势报告》显示,在2020年最受欢迎的技能排行榜,Python排在第一。
在这里插入图片描述

它的角色类似于现在Office,成了进入职场的第一项必备技能。

如果你也想增强自己的竞争力,分一笔时代的红利,我的建议是,少加点班,把时间腾出来,去学一学Python。

因为,被誉为“未来十年的职场红利”的Python,赚钱、省钱、找工作、升职加薪简直无所不能!

目前,Python人才需求增速高达**174%,人才缺口高达50万,**部分领域如人工智能、大数据开发, 年薪30万都招不到人!在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值