详解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 01 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
Apr 20 Python
python 采集中文乱码问题的完美解决方法
Sep 27 Python
python对DICOM图像的读取方法详解
Jul 17 Python
python numpy和list查询其中某个数的个数及定位方法
Jun 27 Python
一文带你了解Python中的字符串是什么
Nov 20 Python
Python设计模式之备忘录模式原理与用法详解
Jan 15 Python
Python实现FM算法解析
Jun 18 Python
python 弧度与角度互转实例
Apr 15 Python
Python ini文件常用操作方法解析
Apr 26 Python
解决TensorFlow调用Keras库函数存在的问题
Jul 06 Python
PyQt5的QWebEngineView使用示例
Oct 20 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
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
multiSteps 基于Jquery的多步骤滑动切换插件
2011/07/22 Javascript
不同的jQuery API来处理不同的浏览器事件
2012/12/09 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
JavaScript中常见内置函数用法示例
2018/05/14 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
[55:45]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第一局
2016/02/28 DOTA
Python的函数嵌套的使用方法
2014/01/24 Python
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
详解Python传入参数的几种方法
2019/05/16 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
浅谈matplotlib.pyplot与axes的关系
2020/03/06 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
2020/07/14 Python
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
Haggar官网:美国男装品牌
2020/02/16 全球购物
医药营销专业个人自荐信
2013/09/29 职场文书
网站设计师的岗位职责
2013/11/21 职场文书
医药营销个人求职信范文
2014/02/07 职场文书
《木笛》教学反思
2014/03/01 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
财务工作检讨书
2014/10/29 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
MySQL 数据 data 基本操作
2022/05/04 MySQL