详解python里的命名规范


Posted in Python onJuly 16, 2018

文件名

全小写,可使用下划线

应该是简短的、小写的名字。如果下划线可以改善可读性可以加入。如mypackage。

模块

与包的规范同。如mymodule。

总是使用首字母大写单词串。如MyClass。内部类可以使用额外的前导下划线。

函数&方法

函数名应该为小写,可以用下划线风格单词以增加可读性。如:myfunction,my_example_function。
*注意*:混合大小写仅被允许用于这种风格已经占据优势的时候,以便保持向后兼容。

函数和方法的参数

总使用“self”作为实例方法的第一个参数。总使用“cls”作为类方法的第一个参数。
如果一个函数的参数名称和保留的关键字冲突,通常使用一个后缀下划线好于使用缩写或奇怪的拼写。

全局变量

对于from M import *导入语句,如果想阻止导入模块内的全局变量可以使用旧有的规范,在全局变量上加一个前导的下划线。
*注意*:应避免使用全局变量

变量

变量名全部小写,由下划线连接各个单词。如color = WHITE,this_is_a_variable = 1

*注意*:

1.不论是类成员变量还是全局变量,均不使用 m 或 g 前缀。
2.私有类成员使用单一下划线前缀标识,多定义公开成员,少定义私有成员。
3.变量名不应带有类型信息,因为Python是动态类型语言。如 iValue、names_list、dict_obj 等都是不好的命名。

常量

常量名所有字母大写,由下划线连接各个单词如MAX_OVERFLOW,TOTAL。

异常

以“Error”作为后缀。

缩写

命名应当尽量使用全拼写的单词,缩写的情况有如下两种:

1.常用的缩写,如XML、ID等,在命名时也应只大写首字母,如XmlParser。
2.命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式。

例如:

function 缩写为 fn
text 缩写为 txt
object 缩写为 obj
count 缩写为 cnt
number 缩写为 num,等。
前导后缀下划线
一个前导下划线:表示非公有。
一个后缀下划线:避免关键字冲突。
两个前导下划线:当命名一个类属性引起名称冲突时使用。
两个前导和后缀下划线:“魔”(有特殊用图)对象或者属性,例如__init__或者__file__。绝对不要创造这样的名字,而只是使用它们。

*注意*:关于下划线的使用存在一些争议。

特定命名方式

主要是指 __xxx__ 形式的系统保留字命名法。项目中也可以使用这种命名,它的意义在于这种形式的变量是只读的,这种形式的类成员函数尽量不要重载。如

class Base(object):
def __init__(self, id, parent = None):
self.__id__ = id
self.__parent__ = parent
def __message__(self, msgid):
# …略

其中 __id__、__parent__ 和 __message__ 都采用了系统保留字命名法。

附:Google Python命名规范

module_name, package_name, ClassName, method_name, ExceptionName, function_name, GLOBAL_VAR_NAME, instance_var_name, function_parameter_name, local_var_name.

总结

以上所述是小编给大家介绍的python里的命名规范,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python连接mysql并提交mysql事务示例
Mar 05 Python
一个检测OpenSSL心脏出血漏洞的Python脚本分享
Apr 10 Python
Python基于Tkinter实现的记事本实例
Jun 17 Python
Django中URL视图函数的一些高级概念介绍
Jul 20 Python
PyQt5实现简易计算器
May 30 Python
python实现集中式的病毒扫描功能详解
Jul 09 Python
详解Python用三种方式统计词频的方法
Jul 29 Python
python使用turtle库绘制奥运五环
Feb 24 Python
python基于opencv实现人脸识别
Jan 04 Python
Python  Asyncio模块实现的生产消费者模型的方法
Mar 01 Python
Pytorch 如何实现常用正则化
May 27 Python
Python实现老照片修复之上色小技巧
Oct 16 Python
Python 2.7中文显示与处理方法
Jul 16 #Python
Python定时任务sched模块用法示例
Jul 16 #Python
python中使用print输出中文的方法
Jul 16 #Python
django用户登录和注销的实现方法
Jul 16 #Python
Flask框架实现给视图函数增加装饰器操作示例
Jul 16 #Python
flask框架使用orm连接数据库的方法示例
Jul 16 #Python
flask框架实现连接sqlite3数据库的方法分析
Jul 16 #Python
You might like
PHP+MySQL5.0中文乱码解决方法
2006/11/20 PHP
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
2015/07/10 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
PHP如何开启Opcache功能提升程序处理效率
2020/04/27 PHP
MultiSelect左右选择控件的设计与实现介绍
2013/06/08 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
Jquery在指定DIV加载HTML示例代码
2014/02/17 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
浅谈JavaScript 标准对象
2016/06/02 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
vue组件三大核心概念图文详解
2019/05/30 Javascript
教大家使用Python SqlAlchemy
2016/02/12 Python
python分析作业提交情况
2017/11/22 Python
Python命令行解析模块详解
2018/02/01 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
就业协议书范本
2014/04/11 职场文书
《分一分》教学反思
2014/04/13 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
教师自我剖析材料(群众路线)
2014/09/29 职场文书
2014年保育员工作总结
2014/12/02 职场文书
办公室文员岗位职责
2015/02/04 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
如何自己动手写SQL执行引擎
2021/06/02 MySQL