Python:命名约定

360影视 国产动漫 2025-09-05 00:02 3

摘要:在 Python 编程中,命名约定(Naming Conventions)提高代码可读性与可维护性的关键。

在 Python 编程中,命名约定(Naming Conventions)提高代码可读性与可维护性的关键。

合理的命名不仅让代码符合团队规范,还能避免歧义与冲突。

Python 官方文档和 PEP 8(Python 官方代码风格指南) 提供了一系列通用规则,同时社区也形成了一些惯例。

一、总体原则

1、可读性优先

名字应当简洁、明确,做到“见名知义”。

2、一致性

团队或项目应当统一命名风格,不要混用。

3、避免冲突

不要随意使用 Python 保留字或与内置函数重名(如 list, str, id)。

# 不推荐:覆盖了内置 list 类型list = [1, 2, 3]print(list) # [1, 2, 3]print(type(list)) # → 实际已丢失对内置 list 的引用

二、不同对象的命名风格

1、变量与函数

使用全小写字母,单词之间以下划线分隔。

这种风格称为“蛇形命名”(snake_case)。

user_name = "Alice"max_length = 100def calculate_area(radius):return 3.14 * radius * radius

2、常量

使用全大写字母,单词之间可以以下划线分隔。

常量通常放在模块的顶部。

PI = 3.14159MAX_CONNECTIONS = 100

3、类与异常

每个单词首字母大写,不使用下划线。异常类名通常以 Error 结尾。

这种风格称为“大驼峰命名”(PascalCase)。

class Person:passclass ValidationError(Exception):pass

4、模块与包

推荐使用简短的小写字母,必要时用下划线分隔。

例如:mathutils.py, data_loader/ 等。

math_utils.pydata_loader/

5、特殊方法与特殊属性

同时以双下划线开头和结尾的命名(__xxx__),保留给 Python 内部使用。这些被称为特殊方法(“魔术方法”)和特殊属性。

如 __init__, __len__, __str__ 以及 __name__ 等。

class Demo:def __init__(self):self.value = 0def __str__(self):return f"Demo(value={self.value})"__all__ = ["connect", "disconnect"] # 控制模块导出接口

注意:

不要自定义不在规范内的名字,如 __myfunc__。

三、有关下划线的特殊约定

1、前置单下划线:_name

约定俗成表示“内部使用”或“受保护属性”。

不会真正阻止外部访问,只用于提示“请勿直接使用”。

class Person:def __init__(self, name):self._name = name # 内部属性

在数据描述符中,常用 "_name" 作为实例字典的存储键,避免与类属性冲突。

class Descriptor:def __get__(self, instance, owner):return instance.__dict__["_value"]def __set__(self, instance, value):instance.__dict__["_value"] = value

2、前置双下划线:__name

前置双下划线且无后置双下划线,这将触发(name mangling),解释器会将其改为 _类名__name。

常用于避免子类覆盖父类属性。

class A:def __init__(self):self.__secret = 42print(A.__dict__) # {'_A__secret': 42}

3、后置单下划线:name_

当名字与保留字冲突时,可以加一个下划线。

class_ = "Math"id_ = 42

4、单下划线:_

在交互式环境中,_ 常表示上一次运算结果。

>>> 5 + 611>>>_ + 415

在循环或解包中,_ 常作为占位符,表示“不关心的值”。

for _ in range(5):print("Hello")a, _, b = (1, 2, 3) # 忽略第二个值

四、团队与项目的命名策略

1、统一规范

建议团队写一份代码风格指南(参考 PEP8、Google Style Guide)。

2、自动化检查

使用工具如 、、 等,自动检测和格式化代码。

3、一致性大于完美

与其在风格选择上争论,不如保持整个项目一致。

4、命名空间设计

在大型项目中,合理的包结构和模块划分也是命名策略的重要组成部分。

小结

Python 社区的基本规范来自 PEP 8:

变量/函数 → 蛇形命名(snake_case)

类/异常 → 大驼峰命名(PascalCase)

常量 → 全大写字母(UPPER_CASE)

模块/包 → 全小写(lowercase)

下划线约定:

_name → 内部使用

__name → 名称改写(避免子类冲突)

_ → 占位符或交互式结果

name_ → 避免与保留字冲突

合理使用命名约定,可让 Python 代码更清晰、专业、易维护。

“点赞有美意,赞赏是鼓励”

来源:雷霆战神王

相关推荐