Python 命名规则(官方规范 + 实战避坑)

Python 命名规则(官方规范 + 实战避坑)

Python 命名有强制语法规则(必须遵守,否则报错)和PEP 8 官方规范(推荐遵守,代码更规范),我给你整理成最清晰、最实用的版本,直接背会就能用。


一、强制语法规则(不遵守直接报错)

  1. 只能用 3 种字符大小写字母(a-z, A-Z)、数字(0-9)、下划线(_
  2. 不能以数字开头❌ 错误:1name2value✅ 正确:name1value2
  3. 不能是 Python 关键字 / 保留字比如:ifelseforwhiledefclassimportTrueFalseNone❌ 错误:if = 10class = "A"
  4. 大小写敏感nameName是两个完全不同的变量
  5. 不能有空格和特殊符号❌ 错误:my nameuser-nameuser@name✅ 正确:my_nameuserName

二、PEP 8 官方命名规范(行业标准)

这是 Python 开发者统一的写法,工作中必须遵守,否则会被吐槽代码不规范。

表格

类型命名风格示例
变量 / 函数 / 模块 / 包蛇形命名(小写 + 下划线)user_nameget_user_info()
大驼峰(每个单词首字母大写)UserInfoStudentManager
常量全大写 + 下划线MAX_COUNTPI
私有属性 / 方法开头单下划线_age_get_password()
强私有属性 / 方法开头双下划线__password
魔术方法前后双下划线__init____str__

三、各场景详细用法

1. 变量、函数、模块、文件

小写 + 下划线分隔(蛇形命名)

python

运行

# 变量 user_name = "张三" age = 20 total_price = 99.9 # 函数 def get_user_info(): pass # 模块文件(.py 文件) user_utils.py order_system.py

2. 类名

大驼峰(每个单词首字母大写,无下划线)

python

运行

class UserInfo: pass class StudentManager: pass

3. 常量

全大写 + 下划线Python 没有真正的常量,只是约定大写不能修改

python

运行

PI = 3.14159 MAX_RETRY_COUNT = 3 DEFAULT_STATUS = "success"

4. 私有成员(类内部使用)

  • 单下划线_:提示是私有,外部可以访问,只是约定
  • 双下划线__:真正私有,外部无法直接访问

python

运行

class User: def __init__(self): self._age = 18 # 提示私有 self.__password = "123" # 强私有

5. 魔术方法

前后双下划线(系统内置方法,不要自己定义这种名字)

python

运行

def __init__(self): pass def __str__(self): return "对象描述"

四、最实用的命名口诀(好记)

  1. 变量函数全小写,下划线来做分隔
  2. 类名大写驼峰式,常量全大写
  3. 私有前面加下划线,强私有加双下划线
  4. 不用数字开头,不用关键字
  5. 见名知意,不写拼音(❌xueshengstudent

五、常见错误示例(千万别写)

❌ 数字开头:1_name❌ 关键字命名:if = 10❌ 特殊符号:user-nameuser name❌ 大小写混用:UserName(变量 / 函数不能这么写)❌ 无意义命名:abtemp(除非临时变量)


总结

  1. 语法规则:字母、数字、下划线,不能数字开头,不能用关键字
  2. 规范写法
    • 变量 / 函数:user_name
    • 类:UserInfo
    • 常量:MAX_COUNT
  3. 核心原则见名知意 + 统一风格