Black:给你的Python代码来个大扫除

文摘   2024-11-16 19:34   重庆  

Black:给你的Python代码来个大扫除

写代码最烦人的事,不就是跟队友吵代码风格的事吗?缩进用空格还是tab,该不该加空行,该咋放括号…每个人都有自己的小习惯,代码风格五花八门。这不,Python就给我们引进了一位“清洁工” - Black,专门负责把代码格式化得整整齐齐。


Black就是个Python代码的“整容师”,它不关心你的代码写得好不好,就认准一个目标 - 让代码看起来漂亮规范。装上它,代码风格就不用吵了,因为它说啥就是啥,不给你讨价还价的机会。


# 安装Black超简单

pip install black

Black用起来贼简单,你只要记住一个命令就行:


# 格式化单个文件

black your_file.py

# 格式化整个文件夹

black your_project_directory/

💡温馨提示:第一次用Black格式化代码,可能会被改动的量吓一跳。别慌,这是正常的,Black就是要把所有代码都改成它认定的“最佳实践”。


说Black是个固执的家伙一点不夸张,它的审美标准简直到了偏执的地步:


# 改造前:一团糟的代码

def calculate_something( x,y, z):

    result=x+y*z

    return result

# 改造后:整洁的代码

def calculate_something(x, y, z):

    result = x + y * z

    return result

Black会帮你处理这些事:


  • 空格乱七八糟?给你规范化

  • 代码行太长?给你自动换行

  • 引号不统一?全改成双引号

  • 括号乱放?给你调整位置


虽说Black是个“独裁者”,但也给咱们留了点自由:


# 在项目根目录创建pyproject.toml

[tool.black]

line-length = 88

target-version = ['py37']

include = '\.pyw?$'

extend-exclude = '''

# 以下文件咱不想格式化

venv/

\.git/

'''

要是觉得命令行太麻烦,VSCode、PyCharm这些编辑器都能直接用Black:


# VSCode设置示例

{

    “python.formatting.provider”:“black”,

    “editor.formatOnSave”:true

}

在项目中引入Black最爽的是可以配合 pre-commit 用,这样提交代码前自动美化:


# .pre-commit-config.yaml

repos:

- repo:https://github.com/psf/black

    rev:22.3.0

    hooks:

    - id:black

要是觉得Black改得太多,还可以先用black --diff看看它准备怎么改你的代码。不满意就可以及时喊停!


Black就像个不懂变通的老师,它的规矩死板,但正是这种“固执”,反而让团队少了很多无谓的争论。代码风格这事,交给工具处理准没错。不用再为了代码格式开那些没完没了的会,多出来的时间,去撸串不香吗?

CQTV新视界
重庆广电城市TV旗下优质内容品牌,感谢您的关注!
 最新文章