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

特殊变量:

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

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

相关推荐
何以解忧,唯有..34 分钟前
Pydantic 介绍与使用:Python 数据校验的现代方案
数据库·python·microsoft
kyle~1 小时前
C++_STL---迭代器失效
开发语言·c++
又幸福了哥1 小时前
Python入门到高级(知识点七)
python
Brilliantwxx2 小时前
【C语言】 初入嵌入式C语言复习(基础+进阶面试题)
c语言·开发语言
熊野君2 小时前
附录与 Codex 实操手册
开发语言·人工智能·产品经理
又幸福了哥2 小时前
Python入门到高级(知识点六)
python
维克兜率天2 小时前
【维克】动量指标家族:RSI、ROC、CCI、Momentum全面解析
python·算法
XZ-0700013 小时前
week2-1-可视化
开发语言·python
Java后端的Ai之路3 小时前
14、Python - 责任链模式
服务器·开发语言·人工智能·python·责任链模式
张人玉3 小时前
基于 Python 机器学习 与 PyQt5 桌面框架开发的可视化分析系统——基于大数据的网上购物消费行为分析可视化大屏
python·qt·机器学习·echarts·three.js