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的Django应用程序解决AJAX跨域访问问题的方法
May 31 Python
Python实现多并发访问网站功能示例
Jun 19 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
Jun 21 Python
python Crypto模块的安装与使用方法
Dec 21 Python
简单实现python收发邮件功能
Jan 05 Python
python实现日常记账本小程序
Mar 10 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
django 单表操作实例详解
Jul 30 Python
通过实例解析Python RPC实现原理及方法
Jul 07 Python
python实现逻辑回归的示例
Oct 09 Python
如何用Django处理gzip数据流
Jan 29 Python
Python音乐爬虫完美绕过反爬
Aug 30 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密码生成类实例
2014/09/24 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
Prototype使用指南之hash.js
2007/01/10 Javascript
html+css+js实现xp window界面及有关功能
2013/03/26 Javascript
JavaScript中的函数重载深入理解
2014/08/04 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
微信小程序 教程之注册程序
2016/10/17 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
Bootstrap选项卡动态切换效果
2016/11/28 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
基于layui内置模块(element常用元素的操作)
2019/09/20 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
Python的subprocess模块总结
2014/11/07 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
Python爬虫工程师面试问题总结
2018/03/22 Python
python用post访问restful服务接口的方法
2018/12/07 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
Python笔记之代理模式
2019/11/20 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
导致python中import错误的原因是什么
2020/07/01 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
历史学专业个人的自我评价
2013/10/13 职场文书
工商管理专业职业生涯规划
2014/01/01 职场文书
销售人员职业生涯规划范文
2014/03/01 职场文书
企业节能减排实施方案
2014/03/19 职场文书
阳光体育活动总结
2014/04/30 职场文书
2014年村委会工作总结
2014/11/24 职场文书
运动员加油词
2015/07/18 职场文书