Python代码规范核心是可读性,PEP 8为协作共识而非语法强制;缩进用4空格、命名用snake_case、类名用CapWords、空行分隔逻辑、每行≤79字符、注释重解释“为什么”。

Python代码规范的核心是可读性,PEP 8不是硬性语法要求,而是被广泛采纳的协作共识。写得“对”不如写得“易懂”,尤其在团队开发或开源项目中,统一风格能大幅降低维护成本。
缩进与空格:用4个空格,别用Tab
PEP 8明确要求使用空格而非Tab进行缩进,每级缩进为4个空格。编辑器需设置为“将Tab自动转为4空格”。混合使用Tab和空格会导致IndentationError,且肉眼难排查。
- 函数定义、if/for/while块、类内方法等,全部用4空格缩进
- 行内括号内容过长时,推荐悬挂式缩进(hanging indent),即首行不缩进,后续行缩进4空格或对齐括号
- 逗号、冒号、分号后保留一个空格;运算符两侧各加一个空格(如 a = b + c * 2)
命名规范:用小写字母加下划线,含义清晰
变量、函数、模块名全部使用snake_case(小写+下划线),避免单字符(除非循环索引i/j/k)或模糊缩写。
- 函数名应为动词短语:calculate_total() 而非 calc_tot()
- 常量全大写加下划线:MAX_RETRY_COUNT
- 类名用CapWords(驼峰):HttpRequestHandler
- 私有属性/方法加单下划线前缀:_internal_cache;双下划线仅用于名称改写场景(如__value),日常避免
空行与行长度:控制节奏,提升扫读效率
空行是代码的“呼吸感”。顶层函数和类之间空两行;类内方法之间空一行;逻辑段落间可酌情空一行。
立即学习“Python免费学习笔记(深入)”;
注释与文档字符串:写给未来自己看的说明
注释要解释“为什么”,而不是“做什么”。代码本身应尽量自解释;真正需要注释的是特殊处理、绕过原因或算法意图。
- 行内注释前加两个空格,以# 开头(注意空格)
- 函数/类必须带文档字符串(docstring),用三重双引号包裹,位于定义下方第一行
- 模块级docstring放在文件开头,说明用途、核心功能和关键依赖










