导读 书接上回,话不多说,今天讲解Python的三种标识符。Lets go!
一、前言
1.回顾
标识符是用于程序中变量、类、方法等命名的符号。初听可能会有点难以理解,大致就是为了能够让程序识别到谁是谁。
比如在整个自然界,按物种分人属于灵长类目的动物(相当于上节课提到的变量的一种),而在人类(可以理解为某一类型的变量,比如整数)中又有这么多的不同的人(如不同的整数)中,我们又怎么去区分每一个人呢?大多时候会是名字(有时也会有小名、花名之类的),而标识符可以粗糙的理解为就是这个名字。
按照规定标识符的构成规则如下:
(1) 可以由字母,数字,下划线(_),美元符($)组成(汉字目前是不可以的,但拼音是可以的);
(2) 不能包含@,%,空格等其他特殊字符;
(3) 不能以数字开头;
(4) 不能是关键字;
(5) 区分大小写;
其实可以理解为一个名字的规则,比如中文名字也有一定的规则,大多数可能是两三个字,也可能是复姓或者其他更多的字,但必须都是汉字(至少当前好像是这样的),不能包括字母或者其他特殊符号之类的(虽然好像大概也没有特别特别的明文规定,但大致是约定俗成)。
2.WHY
话说回来为什么要了解标识符呢?
标识符最大的意义就是能够方便我们记忆,也方便团队协作的更加舍不得,提升效率(也是为了让计算机识别出来我们在喊谁)。有了统一的命名规则(标识符)后,按照某约定约定俗成或自己的一些习惯,在处理数据时就会非常的便利,尤其是涉及到较为复杂的加工时(这点很重要,否则起了个名,自己都不知道这是啥意思,得反复回去查找,效率就比较低了)。
3.分享
时间会过的非常的快,最好养成时间记录的习惯。最初是受到柳比歇夫《奇特的一生》感悟,发现真是牛人有牛人的层级,尤其是在那个基本全靠手工的年代,能把自己剖析的这么客观,很值得学习。后面逐渐记录自己的时间轨迹,定时的去复盘下,能够及时的发现自己可以改进的地方。附一张近3年的各月的某类支出的对照,可以看到某些相似的地方或规律:
二、标识符
标识符主要是定义和识别一些变量、函数之类的,如果是团队协作最好达成一些基本的命名规则,这样效率会更高,也更容易被其他人理解,个人的一些命名习惯在后续讲到的时候也会一点点的分享出来。
1.常规标识符
我们首先来感受下为啥要用标识符,上节课提到了一些其他变量,比如这样的操作:
看着只有几个数字,但你也会发现其中的1200这个数被用了3次,也就是需要我们手动输入3次;或许现在看感觉没啥,但如果是这样呢:
如果涉及到其他字符串(或者函数、类之类的)那可能就更加累了(一天可以啥也不用处理了,就反复敲这些字了,那么这个时候变量标识符就可以出马了:
将3.141592653589793(变量)这个数字用v_pi(变量标识符)来表示,后面再想用3.141592653589793的时候,就可以直接用v_pi来代表了,他们的数据类型也是完全的一致(底层就不说了,关系到存储地址之类的,听起来会迷糊些):
这样下来,我们就可以把开始的计算变成这样:
这里有个小习惯可以分享下,就是不同类型的变量用不同的字母开头表示,比如v_,代表变量(后面学到列表、函数之后也有对应的类型开头),当然可以把变量类型放到变量标识符里,比如v_float_xxxx,代表浮点型变量,v_str_代表字符串型变量,v_int_代表整型变量等等。
2.非法标签符
那是不是可以随意命名标识符呢,比如123A?¥123?
结果会发现是这样的,报错了!非法或无效!这里就要记住标识符的命名规定,也不是随意命名的,还是要一定的规则的。
3.特殊标识符
那符合规则后,是不是我们就可以随意的命名了呢?比如True = 5? 或者 and = 6?
结果就是这样的!不行,因为有些系统保留的关键字(就是相当于不许你用),那系统有哪些不可以用的这类关键字呢?主要有如下这些(不用背,后面这些关键字基本上都会用到,用多了后面避开就好了):
False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,raise,return,try,while,with,yield
学习小结
OK,每天进步一点点,将会迎来美丽的质变,今天只要记住Python三种标识符的类型即可,下次继续!
----------------------------------------------