Python 编程中变量、函数、类等不同元素的命名规范
·
Python 命名规范(PEP 8 标准)
Python 社区最通用的命名规范来自 PEP 8(Python 增强提案第 8 号),下面按不同元素分类说明,兼顾规则和实际示例:
1. 变量 & 函数 & 方法(小写 + 下划线)
- 规则:
- 全部小写,单词之间用下划线
_分隔(蛇形命名法,snake_case); - 避免单字符命名(除非是循环变量如
i/j、临时变量如x/y); - 变量名要见名知意,避免拼音 / 无意义字符(如
a123)。
- 全部小写,单词之间用下划线
- 示例:
# 变量
user_name = "王二" # 正确:小写+下划线,见名知意
age = 25 # 正确:简单变量直接小写
userName = "李四" # 错误:混合大小写(这是Java的驼峰法,Python不推荐)
u = "王五" # 错误:单字符无意义
# 函数/方法
def calculate_sum(a, b): # 正确:小写+下划线
return a + b
def get_user_info(): # 正确:动词+名词,符合语义
return {"name": "张三", "age": 25}
2. 类 & 异常(大驼峰)
- 规则:
- 每个单词首字母大写,无下划线(大驼峰命名法,PascalCase);
- 异常类命名需以
Error结尾(如ValueError)。
- 示例:
# 普通类
class UserInfo: # 正确:大驼峰
def __init__(self, name, age):
self.user_name = name # 实例变量仍用蛇形
self.user_age = age
# 异常类
class InputError(Exception): # 正确:大驼峰+Error结尾
pass
3. 常量(全大写 + 下划线)
- 规则:
- 全部大写,单词之间用下划线分隔;
- 通常定义在模块顶部,代表不可修改的值(Python 无真正常量,仅靠规范约束)。
- 示例:
MAX_RETRY = 3 # 最大重试次数
PI = 3.1415926 # 圆周率
DEFAULT_TIMEOUT = 10 # 默认超时时间
4. 特殊场景命名
| 场景 | 规则 | 示例 |
|---|---|---|
| 私有变量 / 方法 | 开头加单个下划线 _(约定) |
_private_var = 10 |
| 强私有变量 / 方法 | 开头加双下划线 __(命名改写) |
__strong_private = 20 |
| 魔术方法 / 属性 | 前后双下划线 __xx__(系统保留) |
__init__、__str__ |
| 模块 / 包名 | 小写,尽量简短,无下划线 | math、requests |
5. 避坑提醒
- 不要用 Python 关键字命名(如
if、for、class、def等); - 不要以数字开头(如
123var错误,var123正确); - 命名长度适中:太短(如
x)无意义,太长(如user_name_and_age_and_gender)冗余; - 中英文混用:优先用英文,避免拼音(如
yonghu不如user易读)。
总结
- 核心规则:变量 / 函数用
snake_case(小写 + 下划线),类用PascalCase(大驼峰),常量用UPPER_SNAKE_CASE(全大写 + 下划线); - 约定规则:私有元素开头加
_,魔术方法前后加__,模块 / 包名小写简短; - 通用原则:见名知意、符合 PEP 8 标准,避免关键字和无意义命名。
遵循这些规范,代码会更符合 Python 社区的习惯,也更容易被自己和他人理解、维护。
更多推荐

所有评论(0)