news 2026/4/18 8:10:49

Python标识符命名规范

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python标识符命名规范

一、必须遵守的语法规则(违反会直接报错)

标识符是用来给变量、函数、类、模块等命名的字符序列,必须符合以下硬性要求:

  1. 字符组成:只能由字母(A-Z/a-z)、数字(0-9)、下划线(_)组成,且不能以数字开头。✅ 合法示例:nameage18user_name_score❌ 非法示例:18age(以数字开头)、user-name(含减号)、my@email(含特殊符号)、姓名(非 ASCII 字符,虽部分 Python 环境能运行,但不推荐)
  2. 大小写敏感:Python 对标识符的大小写严格区分。示例:Namename是两个完全不同的标识符,AGEage也互不相关。
  3. 不能使用关键字:Python 的保留关键字(如ifelsefordef等)不能作为标识符。可通过以下代码查看所有 Python 关键字:

    python

    运行

    import keyword print(keyword.kwlist)
    ❌ 错误示例:def = 10def是关键字)、class = "student"class是关键字)

二、推荐遵循的 PEP 8 风格规范(提升代码可读性)

PEP 8 是 Python 官方的代码风格指南,以下是标识符命名的核心规范,也是行业通用标准:

1. 变量 / 函数 / 模块名:小写 + 下划线(蛇形命名法,snake_case)
  • 核心规则:全部小写,多个单词之间用下划线分隔,简洁易懂。
  • ✅ 示例:

    python

    运行

    # 变量 user_name = "张三" student_age = 20 total_score = 95.5 # 函数 def calculate_average_score(scores): return sum(scores) / len(scores)
2. 常量名:全大写 + 下划线
  • 核心规则:全部大写,多个单词用下划线分隔,用于表示不会修改的常量(Python 无真正常量,靠命名约定)。
  • ✅ 示例:

    python

    运行

    MAX_RETRY = 3 # 最大重试次数 PI = 3.1415926 # 圆周率 DEFAULT_TIMEOUT = 10 # 默认超时时间
3. 类名:大驼峰命名法(CamelCase)
  • 核心规则:每个单词首字母大写,无下划线,这是类名的专属规范。
  • ✅ 示例:

    python

    运行

    class StudentInfo: # 学生信息类 def __init__(self, name, age): self.name = name self.age = age class OrderProcessing: # 订单处理类 pass
4. 私有标识符:单下划线 / 双下划线开头
  • 单下划线(_xxx):约定俗成的 “私有” 标识,提示外部不要直接访问(仅靠约定,语法上仍可访问)。✅ 示例:

    python

    运行

    def _private_function(): # 私有函数,仅内部使用 return "内部数据" class Person: def __init__(self): self._id = 123 # 私有属性
  • 双下划线(__xxx):Python 会自动做 “名称修饰”,真正限制外部访问(避免子类重写或外部调用)。✅ 示例:

    python

    运行

    class Person: def __init__(self): self.__password = "123456" # 强私有属性 p = Person() print(p.__password) # 直接访问会报错 print(p._Person__password) # 特殊方式可访问(不推荐)

三、额外的实用命名建议(新手必看)

  1. 见名知意:避免用无意义的字符(如abx1),名称要体现用途。❌ 不好的示例:s = "张三"n = 20✅ 好的示例:student_name = "张三"student_age = 20
  2. 长度适中:不要过长(如calculate_the_average_score_of_all_students),也不要过短(如avg),兼顾简洁和清晰(推荐calculate_student_avg_score)。
  3. 避免歧义:不要用易混淆的字符,比如l(小写 L)、O(大写 O)、0(数字 0),容易看错。

总结

  1. 语法规则是底线:标识符只能由字母 / 数字 / 下划线组成,不能以数字开头、不能用关键字,且大小写敏感;
  2. 风格规范是标配:变量 / 函数用蛇形命名(snake_case)、常量全大写、类名用大驼峰(CamelCase);
  3. 命名核心原则:见名知意、简洁规范,让自己和他人能快速理解代码含义。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 7:58:21

STM32单片机环境参数监控系统043X(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

STM32单片机环境参数监控系统043X(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码产品功能描述: 本系统由STM32F103C8T6单片机核心板、TFT1.44寸彩屏液晶显示电路、风速传感器接口电路、风向传感器接口电路DHT11温湿…

作者头像 李华
网站建设 2026/4/18 5:05:32

实测通义千问3-4B:手机跑大模型的真实体验分享

实测通义千问3-4B:手机跑大模型的真实体验分享 1. 引言:为什么我们需要能在手机上运行的大模型? 随着生成式AI技术的快速演进,大语言模型正从“云端巨兽”向“端侧轻量”演进。然而,大多数用户仍受限于算力门槛——部…

作者头像 李华
网站建设 2026/4/18 5:12:55

未知usb设备(设备描述)识别原理:一文说清底层机制

为什么你的USB设备总显示“未知”?揭秘枚举失败背后的底层真相你有没有遇到过这样的情况:插上一个自研开发板、自制键盘或者调试中的嵌入式模块,系统托盘突然弹出提示——“未知USB设备(设备描述)”?看起来…

作者头像 李华
网站建设 2026/4/18 5:09:23

基于Xilinx Artix-7的vivado安装包版本选择建议

如何为 Xilinx Artix-7 选对 Vivado 版本?一份来自实战的避坑指南你有没有遇到过这种情况:项目做到一半,想升级 Vivado 到新版,结果打开工程就报错一堆 DRC 警告;或者团队里有人用 2021.1,有人用 2023.2&am…

作者头像 李华