Python各种命名规则

一.包名(Package Name)

1.全部小写,避免大写字母

2.尽量不要使用下划线分隔单词(除非必须)

3.不要使用点号,点号用于导入

python 复制代码
# 正确的包名
urllib
json
numpy
pillow
requests
python_utils     # 少数情况下用下划线

# 错误的包名
MyPackage        # 包含大写
my-package       # 连字符不合法
my.package       # 点号不合法(这是导入路径,不是包名)
2package         # 数字开头

二.模块名(Moudle Name)

1.全部小写

2.可以使用下划线提高可读性

3.对应.py文件(一个模块就是一个.py文件)

python 复制代码
# 正确的模块名
math.py
os.py
sys.py
my_module.py
json_utils.py
test_helpers.py

# 错误的模块名
MyModule.py      # 包含大写
my-module.py     # 连字符不合法
2module.py       # 数字开头

三.类名(Class Name)

1.大驼峰命名法:每个单词首字母大写

2.内部类可以加一个额外的前导下划线

3.异常类应该以"Error"或"Exception"结尾

4.应该是名词

python 复制代码
# 正确的类名
class Person:
    pass

class UserAccount:
    pass

class HTTPRequest:
    pass

class ValidationError(Exception):
    pass

class _InternalHelper:      # 内部类
    pass

# 错误的类名
class person:               # 不应小写开头
class user_account:         # 不应使用下划线
class 2DModel:              # 数字开头

四.函数名(Function Name)/方法名

1.全部小写

2.应该是动词或动词短语

3.私有方法:前导加单下划线

4.特殊方法:前导和后导都加双下划线

python 复制代码
# 正确的函数名
def calculate_total():
    pass

def get_user_by_id():
    pass

def is_valid():              # 布尔返回用is/has开头
    pass

def _private_helper():       # 私有方法
    pass

def __str__(self):           # 特殊方法
    pass

# 错误的函数名
def calculateTotal():        # 应使用snake_case
def Calculate_Total():       # 混合大小写
def 2calculate():            # 数字开头
def validate-user():         # 连字符不合法

五.变量名(Variable Name)

1.小写 + 下划线

2.不能与关键字重名

3.私有变量:前导加单下划线

特殊变量:

常量:字母全部大写,单词间用下划线分隔

临时占位的变量:下划线_

相关推荐
weixin_41965831几秒前
CANoe 使用指南:从输出窗口到数据回放的完整实战教程
开发语言·功能测试·车载系统·自动化·汽车
当青春邂逅吉米多维奇2 分钟前
C#图解教程(第5版) 同步方法
开发语言·c#
骇客野人9 分钟前
Java BIO / NIO / AIO 完整详解 + 编程技巧
java·开发语言·nio
霸道流氓气质12 分钟前
OpenTelemetry 入门与实战:Java Agent、Spring Boot Starter与LLM调用追踪示例
java·开发语言·spring boot
波力海苔夹心脆67517 分钟前
C# 机器视觉实战:单相机引导机械手精准贴合,从拍照、偏差计算(平移+旋转)到坐标补偿全解
开发语言·经验分享·数码相机·c#·视觉检测·.net
勿信日志18 分钟前
Playwright 元素定位:一个 width>50 过滤器把 42px 的输入框删掉了
python
larance23 分钟前
[菜鸟教程] 机器学习教程十课-Python 机器学习应用
人工智能·python·机器学习
栖凤24 分钟前
Java 的 try-catch 在 Agent 里失效了,我用了 5 个模式才兜住
java·前端·python
Yyyyyy~32 分钟前
【python】函数
python
金銀銅鐵33 分钟前
[Java] 借助GUI展示class文件的版本号
后端·python·ai编程