news 2026/5/2 2:28:21

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/5/1 11:53:40

OpenCL介绍,GPU厂家支持情况

文章目录一、OpenCL 开发平台介绍1. 核心组成2. 开发工具链二、主流厂商对 OpenCL 的支持情况三、性能表现:OpenCL vs CUDA1. **NVIDIA GPU**2. **AMD GPU**3. **Intel GPU(Arc / Iris Xe)**四、典型应用场景举例示例:向量加法&am…

作者头像 李华
网站建设 2026/4/25 20:43:45

Qwen1.5-0.5B部署秘籍:避免常见错误的实用指南

Qwen1.5-0.5B部署秘籍:避免常见错误的实用指南 1. 引言 1.1 项目背景与技术趋势 随着边缘计算和轻量化AI服务的兴起,如何在资源受限的环境中高效部署大语言模型(LLM)成为工程实践中的关键挑战。传统方案往往依赖多个专用模型协…

作者头像 李华
网站建设 2026/4/28 17:50:54

小白也能懂:用Fun-ASR-MLT-Nano快速实现会议录音转文字

小白也能懂:用Fun-ASR-MLT-Nano快速实现会议录音转文字 1. 引言 1.1 业务场景描述 在日常工作中,会议记录是一项高频但繁琐的任务。无论是项目讨论、客户沟通还是团队复盘,会后整理录音内容往往耗费大量时间。传统的人工听写方式效率低、易…

作者头像 李华
网站建设 2026/4/21 22:23:51

2003AZ10101A通信模块

2003AZ10101A 通信模块2003AZ10101A是一款工业通信模块,用于在自动化系统中实现控制器与现场设备或其他控制单元之间的高速、可靠数据传输。它的主要特点包括:高速数据传输:支持快速通信,确保实时数据交换和过程控制响应。多协议兼…

作者头像 李华
网站建设 2026/5/1 9:26:03

GJV3074366R1 07AA61R1模拟输出模块

GJV3074366R1 / 07AA61R1 模拟输出模块这款模块专为工业自动化系统设计,用于将控制器的数字信号转换为模拟输出信号,以驱动现场执行器或模拟设备。主要特点如下:高精度输出:提供稳定、精确的模拟信号,确保过程控制精度…

作者头像 李华