核心要点

  • 知道 PEP 8 是官方风格指南

  • 能说出几条核心规则(缩进、命名、行宽)

  • 了解 black/ruff/flake8 等自动化工具

简要回答

PEP 8 是 Python 官方代码风格指南,统一缩进(4 空格)、命名(snake_case)、行宽(79/88)等,提升可读性与协作效率。

标准回答

一、PEP 8

PEP 8 -- Style Guide)是 Python 社区公认的代码风格规范,非语法强制,但团队与开源项目普遍遵循。

二、核心规则

  • 缩进:4 空格,不用 Tab
  • 行宽:79 字符(black 默认 88)
  • 命名:函数/变量 snake_case,类 CapWords,常量 UPPER_CASE
  • 空行:类/函数间 2 行,方法间 1 行
  • 导入:标准库 → 第三方 → 本地,各组空行分隔

三、重要性

  • 降低代码审查摩擦
  • 新人快速融入代码库
  • 工具可自动检查/格式化

四、工具链

black(格式化)、ruff/flake8(lint)、isort(导入排序)。CI 中集成可强制执行。

回答思路

  • 【定义】用一句话说清「什么是 PEP 8?为什么重要」

  • 【原理】讲清关键机制或步骤(2~3 点)

  • 【例子】举一个真实项目、论文或产品中的例子

  • 【对比】与易混淆概念或替代方案比较(如有)

  • 【收尾】总结适用场景 + 一个局限或风险

延伸学习

结合侧栏延伸学习中的知识库与术语;行业背景见 AI 资讯(永久保留)。相关:资讯

常见误区

⚠️ 常见踩坑

误区一:容易答偏的地方:只罗列名词、不会举例;混淆相似概念;忽略工程约束(成本、延迟、数据质量)。不确定时应主动说明假设。

追问

追问 1PEP 和 RFC 有什么区别?

PEP(Python Enhancement Proposal)是 Python 官方提案流程,涵盖语言特性(PEP 484 类型提示)和流程/风格(PEP 8)。通过社区讨论和 BDFL/核心开发者决策采纳。

追问 2何时可以违反 PEP 8?

与现有代码风格一致(Consistency)、避免破坏可读性的极端换行、与 C 扩展接口对齐等。PEP 8 自身说:「A foolish consistency is the hobgoblin of little minds」——明智地破例。

追问 3black 和 autopep8 有何不同?

black 主张「不妥协」统一格式,配置项少;autopep8 更贴近 PEP 8 细规则、可配置多。现代项目 increasingly 采用 black + ruff。

🔗 相似问题

同一考点的不同问法,换着练更稳

延伸学习

按主题分类的相关资源,便于系统复习