简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。

Python 中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:

  1. 标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
  2. 标识符不能和 Python 中的保留字相同。有关保留字,后续章节会详细介绍。
  3. Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。
  4. 例如,下面所列举的标识符是合法的:
UserIDnamemode12user_age

以下命名的标识符不合法:

4word #不能以数字开头try #try是保留字,不能作为标识符$money #不能包含特殊字符

在 Python 中,标识符中的字母是严格区分大小写的,也就是说,两个同样的单词,如果大小格式不一样,多代表的意义也是完全不同的。比如说,下面这 3 个变量之间,就是完全独立、毫无关系的,它们彼此之间是相互独立的个体

number = 0Number = 0NUMBER = 0
  1. Python 语言中,以下划线开头的标识符有特殊含义,例如:
  • 以单下划线开头的标识符(如 _width),表示不能直接访问的类属性,其无法通过 from...import* 的方式导入;
  • 以双下划线开头的标识符(如__add)表示类的私有成员;
  • 以双下划线作为开头和结尾的标识符(如 __init__),是专用标识符。
  1. 因此,除非特定场景需要,应避免使用以下划线开头的标识符。

另外需要注意的是,Python 允许使用汉字作为标识符,例如:

 百度=‘www.baidu.com’

但我们应尽量避免使用汉字作为标识符,这会避免遇到很多奇葩的错误。

标识符的命名,除了要遵守以上这几条规则外,不同场景中的标识符,其名称也有一定的规范可循,例如:

  • 当标识符用作模块名时,应尽量短小,并且全部使用小写字母,可以使用下划线分割多个字母,例如 game_mian、game_register 等。
  • 当标识符用作包的名称时,应尽量短小,也全部使用小写字母,不推荐使用下划线,例如 com.mr、com.mr.book 等。
  • 当标识符用作类名时,应采用单词首字母大写的形式。例如,定义一个图书类,可以命名为 Book。
  • 模块内部的类名,可以采用 "下划线+首字母大写" 的形式,如 _Book;
  • 函数名、类中的属性名和方法名,应全部使用小写字母,多个单词之间可以用下划线分割;
  • 常量命名应全部使用大写字母,单词之间可以用下划线分割;

有读者可能会问,如果不遵守这些规范,会怎么样呢?答案是程序照样可以运行,但遵循以上规范的好处是,可以更加直观地了解代码所代表的含义,以 Book 类为例,我们可以很容易就猜到此类与书有关,虽然将类名改为 a(或其它)不会影响程序运行,但通常不这么做

未定义标识符 stringc/c++(20)_Python 标识符命名规则相关推荐

  1. python变量名包括_python变量命名规则

    python变量命名规则如下: 1.变量名称由数字.字母(包括大写字母和小写字母).下划线组成. 2.变量名不能以数字开头 3.变量名不能用python关键字 4.变量名不能用python函数,否则函 ...

  2. python变量命名详解_python变量命名规则

    python变量命名规则如下: 1.变量名称由数字.字母(包括大写字母和小写字母).下划线组成. 2.变量名不能以数字开头 3.变量名不能用python关键字 4.变量名不能用python函数,否则函 ...

  3. 未定义标识符 stringc/c++(20)_20款奔驰G63AMG霸气颜值 运动造型

    20款奔驰G63外观方面,采用全新的金属漆,非常亮眼又感觉很有质感,设计上依旧是熟悉的设计风格,方盒子的车身造型粗犷硬朗,前脸直瀑式的中网非常大气,两侧是圆形的几何多光束MULTIBEAM LED大灯 ...

  4. 未定义标识符 stringc/c++(20)_20款丰田酷路泽5700绝版现车最后促销

    20款丰田酷路泽5700总体的内饰气势派头简朴清楚明了,并且还带有活动风韵,设置装备摆设也包罗万象.操控台没有过于繁杂的操控按钮,操控界面也做了相应的点窜,如许看起来即简略又富丽,异常有人道化. 20 ...

  5. 未定义标识符 stringc/c++(20)_到 2024 年,阿斯顿·马丁汽车销量的 20%以上将是电动汽车...

    据阿斯顿马丁新任首席执行官托比亚斯·莫尔斯(Tobias Moers)称,在未来几年中,阿斯顿·马丁最终将转向电气化.托比亚斯·莫尔斯(Tobias Moers)于 8 月接替安迪·帕尔默(Andy ...

  6. 未定义标识符 stringc/c++(20)_天津港20款丰田塞纳四驱顶配现车价格优惠

    进口20款加版塞纳四驱LTD 顶配 配置:雷测+环影 8档变速 金属漆 一键启动 双电动门 双天窗 无钥匙进入 前座椅加热 并道辅助 后部车辆靠近警示 18寸全气候防爆轮胎 LED日间行车灯 自动防眩 ...

  7. 未定义标识符 stringc/c++(20)_拓展巩固练习(2020.5.20)

    [温馨提示] 拉到文末点击"阅读原文"可下载word版,免去手抄烦恼!! 一年级1.口算9+20=     19+3=     4+31=53+10=    23+2=     1 ...

  8. python以下是变量合法命名的是_Python变量命名规则(超级详细)

    Python 需要使用标识符给变量命名,其实标识符就是用于给程序中变量.类.方法命名的符号(简单来说,标识符就是合法的名字). Python 语言的标识符必须以字母.下画线(_)开头,后面可以跟任意数 ...

  9. 符合python语言变量命名规则_Python变量命名规则

    变量的命名规则 1.要具有描述性 2.变量名只能_,数字,字母组成,不可以是空格或者特殊字符([email protected]#$%^&*~) 3.不能以中文为变量名 4.不能以数字开头 5 ...

最新文章

  1. 金融业加速智能化,解析360金融AI基础架构和应用
  2. java 给窗口加菜单_程序求助:如何给窗口添加菜单?
  3. 使用nginx在Windows部署网站https服务
  4. [bootStrap]代码块出现横线滚动条
  5. c#生成一组不同的随机数的方法
  6. html5 sessionStorage 与 localStorage存储
  7. android恶意软件流量,基于流量分析的安卓恶意软件检测
  8. 关于csrss.exe和winlogon.exe进程多、占用CPU高的解决办法
  9. RTSP、RTMP、HTTP流媒体播放器比较
  10. CTFmisc图像题(zsteg取zip、压缩包重组、IDAT数据隐写、Markdown编写LaTeX、零宽字节隐写)
  11. 玩客云armbian挂载硬盘
  12. 矩阵微分与向量函数Taylor展开
  13. Layui多文件上传,java后台(servlet实现)
  14. 赠书赠券:《大话计算机》
  15. Qt小游戏教程之贪吃蛇(带源码)
  16. 《Python深度学习》第一章笔记
  17. 什么是PV、UV、QPS、TPS等专业术语?
  18. Java大数据学习路线图
  19. C++应用之HAL层文件逻辑
  20. ceph 分布式文件存储部署

热门文章

  1. 用 git 保存空目录
  2. 有赞 Flink 实时任务资源优化探索与实践
  3. 在家办公这些天整理的Kafka知识点大全
  4. 免费下载!《九年双11:互联网技术超级工程》,300页干货精华
  5. asp mysql连接已重置,mysql-检查经典ASP中的连接是否正常
  6. 04Prism WPF 入门实战 - Module
  7. 有关像素动作游戏《Resolutiion》美术哲学的讨论
  8. 模型解析之独立顶点的筛选
  9. 前端性能优化-DNS解析优化
  10. 死锁:多线程同时删除唯一索引上的同一行