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 相关文章推荐
Java中重定向输出流实现用文件记录程序日志
Jun 12 Python
Python检测生僻字的实现方法
Oct 23 Python
python爬虫_微信公众号推送信息爬取的实例
Oct 23 Python
pytorch 模型可视化的例子
Aug 17 Python
python 矢量数据转栅格数据代码实例
Sep 30 Python
python中resample函数实现重采样和降采样代码
Feb 25 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
基于python实现ROC曲线绘制广场解析
Jun 28 Python
Python中的With语句的使用及原理
Jul 29 Python
python 实现全球IP归属地查询工具
Dec 18 Python
python中的列表和元组区别分析
Dec 30 Python
pytorch中的numel函数用法说明
May 13 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类
2006/07/15 PHP
PHP 中文处理技巧
2010/04/25 PHP
PHP 函数执行效率的小比较
2010/10/17 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
Ruffy javascript 学习笔记
2009/11/30 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
[51:53]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第二场 1月24日
2021/03/11 DOTA
Python实现动态添加属性和方法操作示例
2018/07/25 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
Python autoescape标签用法解析
2020/01/17 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
Python中关于logging模块的学习笔记
2020/06/03 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
美国在线健康和美容市场:Pharmapacks
2018/12/05 全球购物
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
运动会通讯稿200字
2014/02/16 职场文书
服务行业演讲稿
2014/09/02 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
音乐教师求职信范文
2015/03/20 职场文书
二审答辩状范文
2015/05/22 职场文书
Python中的嵌套循环详情
2022/03/23 Python