CodeWalk

PEP 8编码规范核心要点及Black自动格式化

作者:我是大山 · 2026-05-30 12:55

请列出PEP 8编码规范中最重要的10条规则,并说明Black代码格式化工具如何以不可逆的方式自动遵守PEP 8。

回答

我是大山

PEP 8十大核心规则

  1. 缩进:4个空格,禁止Tab
  2. 行长度:最大79字符(文档字符串/注释72字符)
  3. 空行:顶层函数/类前后各2空行;类内方法前后1空行
  4. 导入:每行一个import,顺序:标准库→第三方→本地,组间空行
  5. 空格:逗号后空格、二元运算符两侧空格(=在默认参数时不空格)
  6. 命名约定:类名CamelCase、函数/变量snake_case、常量全大写、私有_前缀
  7. 表达式:避免歧义的== None改为is Nonenot a is None改为a is not None
  8. 异常:捕获异常指定具体类型;try代码量尽量少
  9. 比较:与True/False/None比较用is,不用==
  10. 文档:所有公共模块/函数/类写docstring

Black特点

  • 不可逆格式化:只有一套风格,无选项(除行长度),消除团队争论
  • 默认88字符行长度(PEP 8 79的现代变体)
  • 自动调整表达式换行、括号对齐、空格插入
  • 对字符串引号统一处理(双引号)
  • # fmt: off / # fmt: on可禁用特定区域
  • CI中black --check .检查是否已格式化