Python变量命名规范是编写高质量代码的基础环节,合理的命名既能符合官方语法要求,也能让代码逻辑更清晰,降低后续维护成本。规范的命名需要同时兼顾语法合法性和语义可读性,避免随意使用无意义的字符组合。

基础命名语法规范
Python对变量命名的语法有明确要求,首先需要满足以下基础规则:
- 变量名只能包含字母、数字和下划线,不能包含空格、特殊符号
- 变量名不能以数字开头,比如
1_name是不合法的,name_1是合法的 - 变量名不能是Python的关键字,比如
if、for、class等都不能作为变量名 - 变量名区分大小写,
Name和name是两个不同的变量
可以通过以下代码查看Python的所有关键字:
import keyword # 打印所有Python关键字 print(keyword.kwlist)
官方推荐的命名风格
Python官方在PEP8规范中明确了变量命名的推荐风格,普通变量和实例变量建议使用小写字母加下划线的形式,也就是蛇形命名法:
# 符合规范的变量命名 user_name = "张三" total_score = 98 max_retry_count = 3 # 不符合规范的命名示例 UserName = "张三" # 这是类名推荐风格,不适合普通变量 totalScore = 98 # 驼峰命名不符合Python变量规范
如果是常量,官方推荐使用全大写字母加下划线的形式:
# 常量命名示例 MAX_CONNECTION_NUM = 100 DEFAULT_TIMEOUT = 30
提升可读性的命名技巧
符合语法规范只是基础,好的变量命名需要让其他开发者看到名字就能理解变量的含义,以下是提升可读性的实用技巧:
语义化优先
变量名要直接体现变量的用途,避免使用无意义的单字母或者模糊的缩写:
# 不好的命名 a = 10 tmp = "测试数据" u = "李四" # 好的命名 page_size = 10 test_user_name = "测试数据" current_user = "李四"
避免歧义缩写
除非是行业通用的缩写,否则不要随意缩写变量名,避免造成理解歧义:
# 不好的缩写命名 usr_lst = [] # lst是list的缩写,但不够直观 cnt = 0 # cnt是count的缩写,可读性弱 # 好的命名 user_list = [] user_count = 0
长度适中
变量名不需要过长,也不需要刻意缩短,以能清晰表达含义为度:
# 过长的命名 the_total_number_of_users_who_have_logged_in_today = 100 # 过短的命名 n = 100 # 适中的命名 today_login_user_count = 100
常见命名误区
以下是开发者经常出现的命名错误,需要尽量避免:
- 使用拼音命名,比如
yong_hu_ming,不利于团队协作和代码维护 - 变量名和内置函数重名,比如
list = [1,2,3],会覆盖内置的list函数 - 使用双下划线开头和结尾的命名,比如
__name__,这类命名是Python的特殊方法或属性,普通变量不要使用 - 单下划线开头的变量如果不需要被外部访问,要明确其私有属性的含义,不要随意使用
命名规范检查工具
可以使用pylint等工具自动检查变量命名是否符合规范,以下是简单的使用示例:
# 安装pylint # pip install pylint # 检查指定文件 # pylint test.py
如果代码中存在不符合命名规范的变量,pylint会给出对应的提示,帮助开发者快速调整命名风格。