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获取系统默认字符编码的方法
Jun 04 Python
Python两个内置函数 locals 和globals(学习笔记)
Aug 28 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
Jan 29 Python
如何通过50行Python代码获取公众号全部文章
Jul 12 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
Python脚本操作Excel实现批量替换功能
Nov 20 Python
Python实现遗传算法(二进制编码)求函数最优值方式
Feb 11 Python
Python3中的f-Strings增强版字符串格式化方法
Mar 04 Python
解决Python图形界面中设置尺寸的问题
Mar 05 Python
Python如何实现的二分查找算法
May 27 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
Feb 01 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中加session验证)
2012/08/22 PHP
php实现利用phpexcel导出数据
2013/08/24 PHP
Linux下php5.4启动脚本
2014/08/03 PHP
PHP中构造函数和析构函数解析
2014/10/10 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
PHP编程一定要改掉的5个不良习惯
2020/09/18 PHP
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
[01:00:25]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS Liquid
2018/03/31 DOTA
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
python网络编程之文件下载实例分析
2015/05/20 Python
在Mac下使用python实现简单的目录树展示方法
2018/11/01 Python
python列表list保留顺序去重的实例
2018/12/14 Python
详解Python是如何实现issubclass的
2019/07/24 Python
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
医学生毕业自我鉴定
2014/03/26 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
公司宣传语大全
2015/07/13 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle
Python多线程 Queue 模块常见用法
2021/07/04 Python
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python