python标识符命名规范原理解析
作者:python大师 发布时间:2023-05-28 04:06:42
这篇文章主要介绍了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(或其它)不会影响程序运行,但通常不这么做。
来源:https://www.cnblogs.com/daniumiqi/p/12155999.html
猜你喜欢
- 最近收到一个朋友委托的需求,要将MP3的音频格式转换成wav的音频格式。于是,使用python写了这个小工具便于批量进行转换操作。首先,下载
- ctrl + r => 输入drivers回车 => etc/hosts , 用记事本打开它,在 127.0.0.1 local
- ASP链接MSSQL2005的链接字符串如下:Provider=SQLNCLI;Server=.\SQLEXPRESS;Database=m
- 在VBScript中有Filter这个函数可以用来对数组进行过滤,并返回原数组的一个子集数组。语法说明: 引用内容Filter 函
- PHP addcslashes() 函数实例在字符 "W" 前添加反斜杠:<?php $str = addcsla
- 依次前移,实现聊友们的发言的更迭:function form1_onsubmit()if document.form1.
- ThinkPHP的分组功能是广为开发者使用的一个具有很大实用价值的功能,该功能可以解决中大型项目情况中MVC分层文件过多导致不易管理的问题。
- 本文实例讲述了Python使用matplotlib绘制正弦和余弦曲线的方法。分享给大家供大家参考,具体如下:一 介绍关键词:绘图库官网:ht
- 系列目录:1. 服务器XMLHTTP(Server XMLHTTP in ASP)基础2. 
- 网页设计是由很多个不同的元素构成的,而这些元素的重要性都不同,并且有些元素还需要尤为的突出.有些元素彼此之间存在着联系,而另外的元素之间则一
- 背景一个函数运行需要根据不同项目的配置,动态导入对应的配置文件运行。解决文件结构a #文件夹 │a.py │__init__.pyb #文件
- 常用配置以下配置能使用File -> New Projects Settings -> Settings for New Pro
- 在《JavaScript语言精粹》的第72页有这样一段:用正则表达式字面量创建的RegExp对象来共享同一个单实例:function mak
- 关于怎么获得,我想其实网上有很多答案。list.index( )获得值的索引值,但是如果list中含有的值一样,例如含有两个11,22,这样
- 本文实例讲述了基于python编写的微博应用,分享给大家供大家参考。具体如下:在编写自己的微博应用之前,先要到weibo开放平台申请应用的公
- 1. 从字典创建Dataframe>>> import pandas as pd>>> dict1 =
- 本文通过Python3+PyQt5实现自定义部件–Counters自定 窗口部件。这个窗口是3*3的网格。本文有两个例子如下: /home/
- 精妙的"SQL"语句:◆复制表(只复制结构,源表名:a 新表名:b)SQL: select * into b from
- 在数据库应用,我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。MySQL支持多种
- 目录1. Dash2. Pillow3. Colorama4. JmesPath5. Simplejson6. Emoji7. 进度条:pr