详解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 相关文章推荐
10款最好的Web开发的 Python 框架
Mar 18 Python
Python 模块EasyGui详细介绍
Feb 19 Python
Python实现的中国剩余定理算法示例
Aug 05 Python
从头学Python之编写可执行的.py文件
Nov 28 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
Python检测网络延迟的代码
May 15 Python
django加载本地html的方法
May 27 Python
使用Python实现微信提醒备忘录功能
Dec 04 Python
详解python使用turtle库来画一朵花
Mar 21 Python
对django后台admin下拉框进行过滤的实例
Jul 26 Python
Python闭包与装饰器原理及实例解析
Apr 30 Python
Python字符串split及rsplit方法原理详解
Jun 29 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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
PHP SOCKET编程详解
2015/05/22 PHP
用JAVASCRIPT如何给<textarea></textarea>赋值
2007/04/20 Javascript
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
js Html结构转字符串形式显示代码
2011/11/15 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
2014/10/17 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
同步异步动态引入js文件的几种方法总结
2016/09/23 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
2017/01/15 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
2017/11/19 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
详解vue中的父子传值双向绑定及数据更新问题
2019/06/13 Javascript
Vue实现简单的拖拽效果
2020/08/25 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
Python的Flask框架与数据库连接的教程
2015/04/20 Python
讲解Python中的标识运算符
2015/05/14 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
python SVM 线性分类模型的实现
2019/07/19 Python
Django之模板层的实现代码
2019/09/09 Python
html5 canvas简单封装一个echarts实现不了的饼图
2018/06/12 HTML / CSS
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
运动会入场词50字
2014/02/20 职场文书
教职工代表大会主持词
2014/04/01 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
2014乡镇领导班子四风对照检查材料思想汇报
2014/10/05 职场文书
给老师的一封感谢信
2015/01/20 职场文书
小学少先队工作总结2015
2015/05/26 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书