python标识符命名规范原理解析


Posted in Python onJanuary 10, 2020

这篇文章主要介绍了python标识符命名规范原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。

Python 中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:

1.标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。

2.标识符不能和 Python 中的保留字相同。有关保留字,后续章节会详细介绍。

3.Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。

例如,下面所列举的标识符是合法的:

UserID
name
mode12
user_age

以下命名的标识符不合法:

4word  #不能以数字开头
try   #try是保留字,不能作为标识符
$money   #不能包含特殊字符

4.在 Python 中,标识符中的字母是严格区分大小写的,也就是说,两个同样的单词,如果大小格式不一样,多代表的意义也是完全不同的。比如说,下面这 3 个变量之间,就是完全独立、毫无关系的,它们彼此之间是相互独立的个体。

number = 0
Number = 0
NUMBER = 0

5.Python 语言中,以下划线开头的标识符有特殊含义,例如:

·以单下划线开头的标识符(如 _width),表示不能直接访问的类属性,其无法通过 from...import* 的方式导入;

·以双下划线开头的标识符(如__add)表示类的私有成员;

·以双下划线作为开头和结尾的标识符(如 __init__),是专用标识符。

因此,除非特定场景需要,应避免使用以下划线开头的标识符。

另外需要注意的是,Python 允许使用汉字作为标识符,例如:

PHP中文网 = http://php.cn

但我们应尽量避免使用汉字作为标识符,这会避免遇到很多奇葩的错误。

标识符的命名,除了要遵守以上这几条规则外,不同场景中的标识符,其名称也有一定的规范可循,例如:

·当标识符用作模块名时,应尽量短小,并且全部使用小写字母,可以使用下划线分割多个字母,例如 game_mian、game_register 等。

·当标识符用作包的名称时,应尽量短小,也全部使用小写字母,不推荐使用下划线,例如 com.mr、com.mr.book 等。

·当标识符用作类名时,应采用单词首字母大写的形式。例如,定义一个图书类,可以命名为 Book。

·模块内部的类名,可以采用 "下划线+首字母大写" 的形式,如 _Book;

·函数名、类中的属性名和方法名,应全部使用小写字母,多个单词之间可以用下划线分割;

·常量命名应全部使用大写字母,单词之间可以用下划线分割;

有读者可能会问,如果不遵守这些规范,会怎么样呢?答案是程序照样可以运行,但遵循以上规范的好处是,可以更加直观地了解代码所代表的含义,以 Book 类为例,我们可以很容易就猜到此类与书有关,虽然将类名改为 a(或其它)不会影响程序运行,但通常不这么做。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现各种排序算法的代码示例总结
Dec 11 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
Dec 15 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
50行Python代码获取高考志愿信息的实现方法
Jul 23 Python
对python while循环和双重循环的实例详解
Aug 23 Python
Python实现生成密码字典的方法示例
Sep 02 Python
Python拆分大型CSV文件代码实例
Oct 07 Python
Pandas操作CSV文件的读写实现方法
Nov 13 Python
python 实现绘制整齐的表格
Nov 18 Python
基于python使用tibco ems代码实例
Dec 20 Python
TensorFlow打印输出tensor的值
Apr 19 Python
Pytest测试框架基本使用方法详解
Nov 25 Python
pytorch1.0中torch.nn.Conv2d用法详解
Jan 10 #Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 #Python
Tensorflow Summary用法学习笔记
Jan 10 #Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
Jan 10 #Python
python numpy数组复制使用实例解析
Jan 10 #Python
关于Pytorch的MNIST数据集的预处理详解
Jan 10 #Python
详解pycharm连接不上mysql数据库的解决办法
Jan 10 #Python
You might like
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
JS类定义原型方法的两种实现的区别评论很多
2007/09/12 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
微信小程序登录session的使用
2019/03/17 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
Python实现的检测网站挂马程序
2014/11/30 Python
python实现根据月份和日期得到星座的方法
2015/03/27 Python
Python的Django框架中的数据库配置指南
2015/07/17 Python
Python实现各种排序算法的代码示例总结
2015/12/11 Python
python利用有道翻译实现"语言翻译器"的功能实例
2017/11/14 Python
python 实现数组list 添加、修改、删除的方法
2018/04/04 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
Django项目中model的数据处理以及页面交互方法
2018/05/30 Python
详解Python发送email的三种方式
2018/10/18 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
python实现批量命名照片
2020/06/18 Python
8种常用的Python工具
2020/08/05 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
网络专业学生个人的自我评价
2013/12/16 职场文书
办理退休介绍信
2014/01/09 职场文书
难忘的一课教学反思
2014/04/30 职场文书
软件售后服务承诺书
2014/05/21 职场文书