news 2026/6/15 11:41:29

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/6/12 16:35:12

SmartOnmyoji终极指南:Python自动化脚本高效配置与实战

SmartOnmyoji终极指南:Python自动化脚本高效配置与实战 【免费下载链接】SmartOnmyoji 阴阳师后台代肝脚本,支持所有类似阴阳师的卡牌游戏(点点点游戏)自动找图-点击…(支持后台运行、支持多开、支持模拟器&#xff09…

作者头像 李华
网站建设 2026/6/14 6:51:26

nvCOMP(NVIDIA Compression Library)介绍和使用

文章目录一、核心特性二、基本使用流程(以 LZ4 为例)1. 安装2. 压缩单个 buffer(简单示例)3. 解压缩三、高级用法1. **Batched 压缩(处理多个小 buffer)**2. **自定义内存管理(与 Umpire / 自定…

作者头像 李华
网站建设 2026/6/13 19:27:36

Node.js用dns.lookup缓存DNS提速

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 Node.js应用层DNS缓存:提升查询速度的实战策略目录Node.js应用层DNS缓存:提升查询速度的实战策略 引言 一…

作者头像 李华
网站建设 2026/6/12 6:25:39

能100%区分厂家与经销商,这个平台的底气从何而来?

在企业对企业的商业领域里面,“寻找生产工厂”这件事表面上看起来好像十分简单,实际上却充满了各种各样的圈套,就如同布满了陷阱一样,在1688电子商务平台上面,那些标记着“源头厂家”身份的商家,其中有一部…

作者头像 李华
网站建设 2026/6/10 16:33:53

Keil5汉化包启用方法图解说明

让Keil5说中文:一步步教你安全启用汉化包,告别英文困扰 你有没有这样的经历?打开Keil5准备新建一个工程,结果面对满屏的“Project”、“Target”、“Options for Target”,一时愣住:“这选项到底该点哪个&…

作者头像 李华
网站建设 2026/6/12 11:23:30

BGE-M3避坑指南:文本检索常见问题全解析

BGE-M3避坑指南:文本检索常见问题全解析 1. 引言:BGE-M3 模型的核心价值与应用场景 在当前信息爆炸的时代,高效、精准的文本检索能力已成为智能系统不可或缺的一环。BGE-M3 作为一款专为检索场景设计的三模态混合嵌入模型,凭借其…

作者头像 李华