详解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远程登录代码
Apr 29 Python
python中的错误处理
Apr 10 Python
python:socket传输大文件示例
Jan 18 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
Dec 21 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
Jun 21 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
python自动保存百度盘资源到百度盘中的实例代码
Aug 26 Python
python线程的几种创建方式详解
Aug 29 Python
在python下实现word2vec词向量训练与加载实例
Jun 09 Python
python如何进入交互模式
Jul 06 Python
学会迭代器设计模式,帮你大幅提升python性能
Jan 03 Python
利用Python脚本写端口扫描器socket,python-nmap
Jul 23 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中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
PHP goto语句用法实例
2019/08/06 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
jQuery当鼠标悬停时放大图片的效果实例
2013/07/03 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
2014/08/30 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
JavaScript对象参数的引用传递
2016/01/14 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
js 实现复选框只能选择一项的示例代码
2018/01/23 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
js实现一款简单踩白块小游戏(曾经很火)
2019/12/02 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
javascript实现评分功能
2020/06/24 Javascript
Vue清除定时器setInterval优化方案分享
2020/07/21 Javascript
vue通过接口直接下载java生成好的Excel表格案例
2020/10/26 Javascript
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
python cookielib 登录人人网的实现代码
2012/12/19 Python
Python中的exec、eval使用实例
2014/09/23 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
python对象转字典的两种实现方式示例
2019/11/07 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
幼儿园毕业家长感言
2014/02/10 职场文书
工商管理专业大学生职业生涯规划范文
2014/03/09 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
幼儿园心得体会范文
2016/01/21 职场文书