标识符命名规则
在计算机编程中,标识符是用来标识某个实体的名称。这个实体可以是变量、函数、类、模块等。
- 标识符可以包含字母(大写或小写)、数字和下划线。
- 不能以数字开头,不能包含空格或特殊字符(如!、@、#、$等)。
- 不能为关键字。
1. 项目名(Project)
首字母大写+驼峰,如:MyProject
2. 模块名和包名(Module Package)
小写+下划线连接,如:my_module
3. 类名(Class)
首字母大写+驼峰,如:
class MyClass:
pass
4. 全局变量和常量(Global Variable and Constant)
大写+下划线连接,如:
HTTP_STATUS_CODE_OK = 200
HTTP_STATUS_CODE_CREATED = 201
HTTP_STATUS_CODE_ACCEPTED = 202
HTTP_STATUS_CODE_NOT_FOUND = 404
HTTP_STATUS_CODE_INTERNAL_SERVER_ERROR = 500
5. 方法名 函数名 参数名 实例名(Method Function Parameter Instance)
小写字母驼峰命名,如:
def my_fuc(parameter_1, parameter_1):
pass
6. 常见带下划线变量名的约定(underscore)
1)单个前导下划线(_variable):
通常表示一个内部变量或私有变量,这种约定告诉其他程序员该变量不应该被直接访问或修改 。
# 内部变量
_internal_var = 10
# 内部类
class _innerClass:
pass
若是方法,则无法通过使用通配符导入,即无法使用from modul import * 导入,可以通过“modul._internal_func()”的方式导入。
def _internal_func():
return "不能被from xxx import *的形式导入"
2)单个末尾下划线(variable_):
这种约定通常用于避免与Python关键字冲突,因为在Python中变量名不能与关键字相同。
class_ = "Math"
3)双前导下划线(__variable):
这种约定用于名称修饰(name mangling),Python会自动修改变量名以避免子类中的命名冲突,具体会修改为为“_classname__attribute”或“_classname__method”的形式。
class MyClass:
def __init__(self):
self.__private_var = 100
obj = MyClass()
print(obj._MyClass__private_var) # 会运行,打印100
print(obj.__private_var) # 这会报错,因为__private_var是私有变量
4)双前后下划线(variable):
魔法方法,这些方法在Python中有特殊的含义,用于类的构造、字符串表示和其他内置行为。
class MyClass:
def __init__(self):
self.__init__ = "Special Method"
obj = MyClass()
print(obj.__init__) # 这会输出 "Special Method"
5)单个下划线(_):
这通常用于表示一个临时或不重要的变量,有时也用于表示一个无意义的占位符。
for _ in range(5):
print("Hello")