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批量创建迅雷任务及创建多个文件
Feb 13 Python
python实现SOM算法
Feb 23 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
浅谈pycharm出现卡顿的解决方法
Dec 03 Python
Python高斯消除矩阵
Jan 02 Python
FFT快速傅里叶变换的python实现过程解析
Oct 21 Python
PyCharm第一次安装及使用教程
Jan 08 Python
PyQt5中向单元格添加控件的方法示例
Mar 24 Python
python 通过文件夹导入包的操作
Jun 01 Python
Python用类实现扑克牌发牌的示例代码
Jun 01 Python
python爬虫数据保存到mongoDB的实例方法
Jul 28 Python
python爬虫scrapy框架的梨视频案例解析
Feb 20 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学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
2013/06/25 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
PHP二进制与字符串之间的相互转换教程
2016/10/14 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
2015/01/06 Javascript
javascript查询字符串参数的方法
2015/01/28 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
2017/04/25 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
Vue性能优化的方法
2020/07/30 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
用python代码做configure文件
2014/07/20 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
python生成器与迭代器详解
2019/01/01 Python
linux安装python修改默认python版本方法
2019/03/31 Python
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
2014年应届大学生毕业自我鉴定
2014/01/31 职场文书
加油口号大全
2014/06/13 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
党员争先创优承诺书
2015/01/20 职场文书
单位租车协议书
2015/01/29 职场文书