Python标识符命名最佳实践(python的标识符命名规则)
off999 2024-10-21 07:02 30 浏览 0 评论
大家好,今天我们将继续学习Python的基础知识。这篇文章将重点介绍Python中标识符的相关内容。
什么是标识符
在Python中,标识符是用来区别开每个对象的对象名称。标识符由用户定义,主要用来给变量(Varible)、函数(Function)、类(Class),模块(Module)等命名。
Python标识符的命名规则
每种语言都有自己标识符的命名规则,这些规则基本都大同小异。Python的标识符命名规则主要包括:
- 标识符合法的字符:26个英文字母(包括大小写a-z,A-Z)、10个阿拉伯数字(0-9)以及下划线(_);
- 标识符的第一个字符只能是字母或下划线,不能以数字开始;
- Python标识符的长度没有限制;
- 用户定义的标识符不能是Python的保留字或关键字,如for,if等;
- Python是字母大小写敏感的语言,如Abc、abc、ABc是不同的标识符。
下面分别使用一些例子来说明什么是合法有效的Python标识符以及什么样的标识符是不合法的。
合法的标识符举例
name1:这个标识符是由字母和数字构成的,且开头字符是英文字母,所以其是合法有效的标识符;
student_age:这个标识符是由字母和下划线构成的,也是合法有效的标识符;
_income:该标识符以下划线开始,且有效字符满足上面的要求,因此这也是合法的标识符。
在实践中,为了增强Python程序的可读性,我们在给标识符命名时,尽量做到见名知义。否则,随着时间的流逝,在没有注释帮助下,读者很可能就不知道标识符的具体含义了。
不合法的标识符举例
为了更好地理解Python标识符的命名规则,下面给出一些不合法的标识符:
100:这个标识符只有数字构成,违反了开头字符不能是数字的法则;
3year:这个标识符也是违反了不能以数字开头的约定;
a-b:这个标识符中包含不合法的字符(-);
for:这个标识符是Python中的关键字,这是不允许的;
teacher and student:这个标识符包含非法的字符——空格或空白字符。
对于一个新手来说,可能判断一个标识符是否有效,可能存在一定的困难。幸运的是,Python中给出了标识符有效性检验的函数,来判断一个标识符是否是有效的标识符。
判断一个标识符是否是有效
对于新用户来讲,Python提供了 isidentifier() 函数来判断一个标识符是否是有效合法的标识符。
但是,这个函数不会忽略Python中的保留字或关键字。因为,这些关键字或保留字也是Python的标识符,不过其用来构成了Python的语法字,用户不能再使用它作为自己的标识符了。
那问题就来了,如果你准备使用Python中的关键字来作为自己的标识符的话,isidentifier()函数也会认为是有效的。这岂不是给新用户带来了困惑。
遇到问题,我们总要解决问题的。Python还提供了另外一个函数,帮助我们来识别一个标识符是不是Python中的关键字,这个函数就是 keyword.iskeyword(),从名字上就知道它的含义了吧。借助isidentifier()和keyword.iskeyword()这两个函数就可以完全来验证自己定义的标识符是不是有效和合法的了。
下面首先看一下isidentifier()函数的使用方法。
下面代码检测了上面有效和无效的标识符:
print("name1".isidentifier()) #True
print("100".isidentifier()) #False
print("_income".isidentifier()) #True
print("3year".isidentifier()) #False
print("a-b".isidentifier()) #False
print("for".isidentifier()) #True从上面的代码及注释给出的结果来看,最后一个例子中for输出的为True,但它是Python的关键字,我们不能使用它来命名自己的标识符。
下面使用keword.iskeyword()函数来验证一下“for”是不是Python的关键字。具体操作过程中可以先使用下面的程序先来判断一个标识符是不是Python的关键字,如果不是的话,再进一步使用isidentifier()函数来判断是不是有效的标识符就行了。
import keyword
print(keyword.iskeyword("for")) # True上面的例子中,首先导入了Python的keyword模块,然后再使用keyword.iskeyword()函数来判断。上面判断“for”是不是Python的关键字,结果输出为True,则for为关键字,那么,你就不能再使用它作为自己的标识符了。
上面的程序在Python3.8.3中运行的情况如下图所示:
这似乎有些麻烦,那么,自己可以定义一个函数来实现上面的两步操作:
def isValidIdentifier(str):
return str.isidentifier() and not keyword.iskeyword(str)
print(isValidIdentifier("for")) # False总结
上面对Python的标识符进行了详细的介绍,下面再给出整篇文章的总结。
Python标识符最佳实践
(1)Python的类名最好以大写字母开始,如Student,Tutor,Employee,等。
(2)如果类名有多个词构成,则每个词的开头字母都要大写,如StudentClass, FileHelper等。
(3)变量的名称、函数的名称、模块的名称,要使用小写字母来命名,如 age, say()等。
(4)如果变量、函数名称、模块名称由多个词构成,则词与词间使用下划线隔开:如:student_name, print_score()等。
(5)如果变量被定义为私有变量,则命名可以使用下划线作为开始字符;
(6)避免命名标识符时,开头字符和结尾字符都是下划线,因为这种标识符是Python的内置类型;
(7)避免标识符的开头和结尾同时有两个下划线,这是因为这种命名方式是Python语言定义的特殊名称;
(8)尽量使标识符的命名有意义,见名知义是最好的方法,如 student_name要比sn好很多;
(9)如果一个函数返回一个逻辑类型的结果,则最好在给函数命名时以"is"开头,如:isfineshed,isateacher等。
(10)虽然在Python中,标识符的长度没有限制,但最好是使其尽可能的短,如 stu_first_name要比the_student_entity_fist_name好很多。
以上比较全面的介绍了Python中标识符的命名规则和具体实践。
如果你喜欢Python、R等相关内容,欢迎关注我。本号将持续更新相关内容。
相关推荐
- 2500电脑组装最强配置(2500左右组装电脑主机配置清单)
-
两千五百元组装电脑,但配置只能是一般。台式机分为主机和显示器两个主体,按这个价格,显示器只能配置一般的,大约两百多元价格,其余都用来组装主机,主机包含机箱,电源,排风扇,电脑主板及内存,电脑处理器,声...
-
- 小米手机定时关机怎么设置(如何让小米手机定时关机)
-
1、从设置菜单中找到电池与性能选项。 2、选择电池版块,点击定时开关机。 3、将定时开机右边的按钮开...
-
2025-12-28 02:51 off999
- 磁盘删除的文件怎么恢复(磁盘误删怎么恢复)
-
可以恢复,因为删除文件时,其实只是把表头删除了,后面的数据并没有删除,直到下一次进行写磁盘操作需要占用节点所在位置时,才会把相应的数据覆盖掉。所以,就算你误删了文件之后又进行了其他写磁盘操作,只要没有...
-
- qq自动回复内容古风(qq自动回复古文)
-
1、抽剑相助,搭救无辜,却引来杀身之祸。那女子故作柔弱,假装爱慕,只为那本剑谱。2、只缘感君一回顾,使我思君朝与暮。3、相知相惜若可谓缘,不负韶华年。4、看那天地日月,恒静无言;青山长河,世代绵延;就像在我心中,你从未离去,也从未改变。5、...
-
2025-12-28 01:51 off999
- 惠普电脑bios设置u盘启动(惠普 bios u盘启动)
-
惠普电脑bios设置u盘启动:1、插上制作好的u启动启动盘的u盘并启动电脑,在进入开机画面的时候按“f2”进入bios界面;2、进入bios界面之后切换到“boot”,准备设置u盘启动;3、这里在键盘...
- win7优化开机启动项(windows10启动项优化)
-
开机出现错误0xc0000017无法开机错误的解决办法。1、就是system文件丢失了。2、如果想来恢复正常,需要有U盘或者光盘的pe系统,在pe下修复。3、本身C:\Windows\System32...
- 默认浏览器怎么改(软件默认浏览器怎么改)
-
在浏览器中设置默认浏览器的方法略有不同,以下是在常见的几个浏览器中设置默认浏览器的方法:1.在Windows10中设置Edge浏览器为默认浏览器: a.打开...
- 显卡驱动程序是什么
-
NVIDIA驱动是一种软件,用于管理安装在计算机上的NVIDIA图形处理器,以确保它们正常运行。NVIDIA是一家知名的GPU(图形处理器)制造商,提供各种高性能显卡和集成GPU,这些设备需要相应的驱...
-
- 扣扣空间电脑版登录入口(qq空间电脑版官网网站登录)
-
可以通过以下链接登陆进入QQ空间:https://qzone.qq.com/QQ空间(Qzone)是腾讯公司于2005年开发出来的一个具有个性空间,具有博客(blog)的功能,自问世以来受到众多人的喜爱。在QQ空间上可以书写日志、写说说...
-
2025-12-27 22:03 off999
- 怎么还原(怎么还原手机出厂设置)
-
1、首先,在Excel工作表中依次点击左上角的文件图标——Excel选项。2、然后,在弹出来的Excel选项的小窗口中点击左侧的保存菜单栏目。3、接着,在保存菜单栏目的右侧可以看到自动恢复文件的位置,...
- 怎么用360升级系统版本(怎么用360更新系统)
-
360可以下载补丁更新漏洞,对系统进行升级(在360修复漏洞里面点立即修复就行了)升级电脑系统大多数情况下是指低版本的系统升级到高版本的系统,比如说从windows2000升到xp,从vista升级到...
- 360助手电脑版客户端(360软件助手电脑)
-
还是非常好的,都是能够让他可以直接拦截病毒,同时能够让他清理内存,而且能够让这个有非常好的手机应用软件权限优化作用。360手机助手是360推出的手机助手,拥有海量软件和游戏轻松下载,炫彩主题壁纸随心点...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
