Python命名规范
基本的命名约定
- Snake Case - 蛇形命名:
students_marks
单词之间用下划线分隔。每个单词都以小写字母开头。
- Pascal Case - 帕斯卡命名:
StudentMarks
每个单词都以大写字母开头。它们不使用任何分离器分离。
- Camel Case - 驼峰命名:
studentMarks
第一个单词以小写字母开头,后面的单词以大写字母开头。
- Kebab Case - 短横线隔开命名:
student-marks
每个单词都以小写字母开头,用连字符分隔。
- Hungarian Notation - 匈牙利标记法:
arrStudentMarks
在名称的开头添加数据结构。
匈牙利标记法常见前缀
前缀 | 数据结构 | 备注 |
---|---|---|
i | index | 索引(下标) |
dw | DWORD | 双字 |
w | WORD | 单字 |
rw | row | 行数 |
col | column | 列数 |
lp | long pointer | 长指针 |
cb | count of byte | 字节数 |
sz | zero-terminated string | 以 0(’\0’)作结束符的字符串 |
h | Handle | 句柄 |
u | unsigned int | 无符号整数 |
Python中的命名约定
Packages
使用蛇形大小写来命名包
包就像包含模块和其他对象的目录。Python包应该遵循相同的约定,尽管不鼓励在包名中使用下划线。
import streamlit
import pulp
import flask_sqlalchemy
Modules
模块是从包中导入的函数,他们也用蛇形命名
模块是用于执行某些任务的预构建函数和其他对象的集合。模块应该有简短的小写名称。如果可以提高可读性,可以在模块名称中使用下划线(比如具有多个单词的名称)。
from streamlit import subheader, text, markdown, title
from datetime import datetime
from flask import jsonify
Classes
类应该以帕斯卡格式命名
# 从模块导入类
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
# 定义类
class MyClass:
def __init__():
pass
class Dog:
def __init__():
pass
Global (module-level) Variables
全局变量应该遵循蛇的情况
variable = 1
variable_one = 2
def func():
global variable
global variable_one
Methods
1.公共方法应该使用蛇形命名
2.私有方法应该以下划线_
开头
class MyClass:
'''
This is a public method
'''
def public_method():
pass
'''
This is a private method
'''
def _private_method():
pass
Instance Variables
与方法类似,公共实例应该是蛇形的,私有实例应该以下划线_
开头
class MyClass:
pass
public_instance = MyClass()
_private_instance = MyClass()
Functions
函数应该遵循蛇的情况
def func():
pass
def func_one():
pass
Constants
常量名称必须全部大写。
PI = 3.14
CONSTANT = 10
尽量避免的名字
我们避免使用这些名称,因为在某些字体中,它们与数字1和0难以区分,这使得用户很难理解发生了什么。
- 小写字母
l
(letter) - 大写字母
O
(oh) - 大写字母
I
(index) - 避免为变量名称使用Python关键字和内置类/功能名称。例如,诸如“ max”,“ sum”,“ class”和“ list”之类的单词是在任何python环境中都存在的单词。因此,将它们用于功能以外的其他东西可能会使事情变得混乱和混乱。
参考资料
datasciencecentral.com
naming conventions in python