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.私有变量:前导加单下划线

特殊变量:

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

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

相关推荐
ada0_ada114 小时前
qt模块学习记录
开发语言·qt·学习
liulilittle14 小时前
C++ 无锁编程:单停多发送场景高性能方案
服务器·开发语言·c++·高性能·无锁·原子
飞Link14 小时前
大模型时代的“语言编程”:Prompt Engineering (提示词工程) 深度解析与实战指南
开发语言·python·prompt
无限进步_14 小时前
【C++】巧用静态变量与构造函数:一种非常规的求和实现
开发语言·c++·git·算法·leetcode·github·visual studio
Advancer-14 小时前
RedisTemplate 两种序列化实践方案
java·开发语言·redis
郝学胜-神的一滴14 小时前
Socket实战:从单端聊天到多用户连接的实现秘籍
服务器·开发语言·python·网络协议·pycharm
zzwq.14 小时前
线程池与进程池:concurrent.futures高效并发
python
小超超爱学习993714 小时前
大数乘法,超级简单模板
开发语言·c++·算法
java1234_小锋14 小时前
Java高频面试题:MyBatis如何实现动态数据源切换?
java·开发语言·mybatis
knighthood200115 小时前
Qt5.15+VTK9.3.0实现点云点选功能
开发语言·qt