00:00
好,接下来我们来看我们的下一个内容,刚刚呢,我们说了这个字面量还有变量,我们也强调了,以后我们要用的话,不会去直接使用字面量,而都是用变量去保存字面量,也就是通过变量来使用这些字面量,那接下来我们来说我们的下一个概念,哎,还是来说我们这个叫做变量,诶变量和我们这个标识符啊,变量和这个标识符,那这个是两个,也是一个比较基础的内容,那变量我们还要说什么呢?诶,我们要来说一下在我们Python当中如何去使用这个变量,那为了说明这个问题啊,我还是我来创建一个新的Python文件啊,进度pon文件保存一下,这个是我们的一个零三啊这样,因为之前我们这个代码啊,我是整到了这个扣的外边,没有放进扣的,所以这时候呢,我给它诶移动一下啊,把我们这个代码给它放到它该有的这个位置,LESSON02把这两个放到这个扣子里,这一保存。
01:00
呃,现在我们回过头来看,那现在是不是就进去了?哎,进去了啊,好,我再保存一下代码,这回别忘了保存到coded,哎,这个coded里啊,我们这个名字叫做一个变量,哎和这个标识符啊,变量和标识符变量是什么我们已经说了,哎不用再多说变量是什么了,变量可以用来保存不同的值,对吧,不同的值,那接下来我们要说的是什么呢?哎,我们要说的是在Python里如何去定义变量,如何去创建变量,就像什么呀,这个变量作用就像我们,呃,上学的时候学数学是吧?哎,我们做个应用题,我们要设一个X是什么什么,设一个Y是什么什么,设一个Z什么什么,我们是不是都要通常要设一个变量啊,那其实在我们大部分原理,我们要用变量,需要先对变量进行声明啊,先对变量进行声明,但是注意Python中使用变量,哎,Python中使用变量,哎,它干嘛呢?哎,不需要声明。
02:00
啊,不需要声明,直接为我们这个什么呀,哎,变量赋值即可啊,直接为变量赋值即可,比如说你想使用一个这个变量A啊,你就直接来一个A等于十,那么现在你直接print一个A,这直接一执行,你就有了一个变量A啊变量AA的值现在就是十,那所以注意啊,你不需要声明,哎,不像别的语言,比如说像Java,你可能得写一个int a啊,像这个GS,你写一个Y一个A,你都需要对变量进行声明,但是Python这没有那回事,直接对它进行赋值,这个变量就可以使用了啊使用了,但是注意啊,但是注意哎,我们不能,哎使用没有进行过,哎,没有进行过赋值的变量什么意思,现在我A我虽然没有声明,但是我在这儿是不是给A进行过第一次赋值啊,好,现在看着我不打印A了,我打印一个B啊我。
03:00
打印一个B,那注意我有没有给B赋值,换句话说有没有B这个变量很明显是没有的,对吧,这个时候我一执行你会发现干嘛了,哎,你看这时候就报错了,Back我们说了叫追溯的意思,出错就会看见back,他给我们说了一个name error名字错误,叫做name b is not DeFined这个名字,这个B变量B没有定义,所以注意啊,叫什么呢?哎,如果使用没有,哎赋值过的变量,哎赋值的过的变量会报错什么错是这个错误啊,那从现在开始,我们就开始会逐渐的判到我们Python里边的一些,诶错误信息啊,一些异常信息,那你要可以通过这些信息来判断错误的原因,比如说这是一个name error,叫做name b is no DeFine,为什么报这个错,就是因为这个B这个变量我还没有进行过赋值,但是现在看我这来一个B。
04:00
等于一个33吧,哎,那现在我是不是对B进行赋值了,这个时候你再一执行,你看是不是就有这个三了,哎,就没有报错了啊,所以注意,虽然我们的这个Python中变量不需要声明啊,不需要声明,但是如果你的变量没有经过第一次赋值,你是不能直接使用的啊,是不能直接使用的,好,这是一个,然后再接着来说,诶,Python,哎,这是一个,这我们叫做一个pthon,它是一个叫做动态类型的语言,哎,动态类型的语言哎,我们可以什么呢?我们可以为我们这个变量负诶任意类型的值,哎,负任意类型的值也可以什么呢?也可以任意修改变量的值啊是一个动态类型语言,什么意思?如果你没有学过之前的静态类型。
05:00
也没有没有学过其他语言,那这儿其实你就不用去刻意的去理解,你就知道一下,哎,比如说我们现在Python这个变量A,我是不是给他赋值了一个十啊,哎,那注意了,我现在改一个A等于一个hello,那往后我们会说hello这个东西叫做字符串啊,叫做字符串,现在我又把A的值变成了hello,那这个时候我再打印一下A,我这一执行是不是就出现hello了,也就是说A的值现在就变成了hello了,也就是说这个变量值,这个变量我们想给它什么值就给它什么值,给完了以后还可以随便去修改,总而言之,这个变量就和我们数学当中那个变量它是没有什么区别的啊,没有什么区别的,好,这个是我们说的一个变量,变量在这儿非常非常的简单啊,非常非常简单,但是注意了,这儿我起的变量名叫A也好,叫B也好,实际上我们在开发的时候一般不会用这个名,因为这个名没有什么意义,所以我们开发的时候起名尽量有意义,怎么叫有意义诶,我们往后去。
06:00
说是吧,比如说我取一个,我有一个数字是18,这个18表示是一个人年龄,那我应该叫做一个A等于18啊,通过这个变量可以描述出这个值的意思就OK了啊,变量跟这个变量的名字跟这个值是有关系的,就OK了啊好,这个是我们说变量非常简单,那接着来说啊,注意快捷键我们的注释在我们的suble快捷键CTRL加斜盖注释,如果已经注上了,你CTRL加斜杠可以给它打开啊,切换的注释的一个状态啊,CTRL加斜盖,然后CTRL加回车式换行啊,CTRL加回合式换行,什么叫同学说了什么叫CTRL加回车换行,我直接写完了回车L不就换行了吗?为什么叫CTRL加回车呢?注意回车有一个特点,如果你在这儿回车的话,它会把AA整个都换下来,对吧,而如果你摁CTRL加回车,它的效果什么呀?它只挪光标,而我们光标后边内容是不动的啊,所以注意CTRL加回车是换行,还有一个作用就是当我们这是一个注释,如果我敲回车的话,它会自动把下一行。
07:00
编程注释,而如果你敲的是CTRL加回车就没有这个问题啊,所以注意啊,这两块键CTRL鞋盖注释,CTRL加回车是我们的这个换到下一行啊,换到下一行,好,那这个是我们说的一个变量,变量说完了,接着来说我们下一个你叫做一个标识符,那什么叫做标识符呢?那这里边我们来说一下,在我们这个Python中,我们所有可以自主命名的内容,哎,都属于标识符,哎,都属于标识符,那什么叫可以自主命名的呢?比如什么呢?比如我们这个变量名,比如往后我们要学的什么呀,函数名,比如说什么呢?我们这些类名,这些都属于我们可以自主命名的,换句话说,这些玩意儿的名字我们可以自己指定,也就是说我们想让他叫什么,他就可以去叫什么啊,想他叫什么,他就可以去叫什么,但是这里边注意会有一个问题了,那真的是。
08:00
我们想叫什么它就能叫什么,比如说我现在定义一个变量,我叫做一个这个BB等于等于一个这个20,然后在这儿我来普润一下B,这也很明显是可以的,对吧,很明显是可以的,B是一个20,好,那接着我们再来看了,但是注意了,我想我不想要B了,我想叫一个if,也就是说哎,我想把这个名叫一个if,叫一个if这一保存你再来看走一个是不是报错了,告诉你什么呀?哎,INVALIDATIVE3INVALID非法的三语法这个错误叫做语法错误啊语法错误,那我们说了if不行,那我再换一个,我换一个变量,我叫一个1A行不行,哎,我们这一执行干嘛了,是不是也报错了,也是一个invalative sex3ta叫什么呀?语法错误啊,语法错误,非法的语法,哎,那也就是说这变量的确是我们自己指定的,但是好像也不是叫什么名都行吧,哎,所以注意我们的标识符,标识符必须。
09:00
遵循我们这个标识符的一个规范,接下来我们来看一下标识符有哪些规范,一个来说,第一个标识符中可以含有哎字母哎数字,还有什么呢?还有我们这个下划线啊,字母数字下划线,你就说你这叫B叫B123,或者叫B123下划线,这样都是没有任何问题的啊,可以包含字母数字,还有下划线,但是注意但是。但是不能使用数字开头,哎,就是说你的标识符你可以用字母开头,也可以用下划线开头,但是不能以数字开头啊,但是不能以数字开头,就记住了,不能以数字开头,一般情况下我们也不会用下划线开头,除非是一些特殊的名字,用下划线一般情况下也不会,所以一般情况下我们的变量都是用字母去开头的啊,字母开头的,所以举个例子,什么是合法的?比如说我这是一个诶A_一啊A_一,或者是一个下划线A1,哎或者是一个这个下划线1A或者是下划线什么呀,诶A,诶下诶就这样吧,是吧,这些名都是合法的啊,这些名都属于合法的名字,但是啊,但是像我写什么呀,我写一个EAB,这还合不合法了,就不合法了,为什么,因为你这是以这个一开头了啊,一开头了。
10:31
所以B123是对的,或者是你下划线B123这个也是对的,我们试试啊,你这执行完了,它不报错就没问题对吧,不报错就没问题,那再来看我们再来什么呢?来一个123B我就不打印了啊,等于十刚才已经看过了,这是什么呀,这是就错的呀,哎,叫做一个inval inval sta啊这里边我们来记一下。呃,我们来说一下啊,在这写啊,如果我们使用不合,不符合我们这个标准的标识符,诶将会什么呀,报错什么错叫做一个invalidta啊,非法的一个语法,错误的一个语法,好,这是第一个要求,然后第二一个要求,标识符不能是我们这个Python中的一个关键字和这个保留字,诶标识符不能是Python中的关键字和保留字,什么意思?刚才我们写了一个if if这个东西等于30,你只要稍微学个语言,你就知道if是我们的一个if语句里边用的一个关键字,就是这个东西在我们Python里边是有意义的,这个东西咱们就不能用了,为什么不能用啊?举个例子,好比说咱们过去是吧,有皇上那年代,哎,皇上起个名字,皇上叫王富贵,那注意了,你还能不能叫王富贵了?哎,不行,你叫王富贵,皇上很有可能把你剐了一片一片,把你肉给你切下来,对吧?你顶多能姓王。
11:54
这富啊,这贵你都不能用,因为我们是不是要避这皇上的名贵呀,哈,你你叫富贵,皇上也叫富贵,那还了得对吧?同理,那现在这if服在我们Python底层已经使用了,你说if在Python里边是有意义的,它是有特殊含义的,而这个时候你又想把它作为标识符了,那是不是会导致我们整个一个程序的混乱呀,所以注意这个if我们是不能用的,或者说所有的这种关键字我们都是不能用的,还有什么东西,还有一个叫保留字,保留字是什么东西,保留字呢?是Python还没用的,哎,Python还没用的,但是呢,他可能会用到,所以他先给它干嘛呀,先给它留起来,为了避免以后会用到,所以叫做一个保留字,关键字和保留字我们都是不能去使用的,诶,那同学说老师他这有点不讲理啊,关键字不让用就不让用了,但是保留字你不让用这事有点不合理了,哎,其实非诚合理,为什么呢?比如说我随便写一个,比如说假如说啊,我假设有一个保留字叫ABC。
12:54
这ABC现在Python你还没有用的,那现在呢,他可能现在不用,但是他现在也不让你用,假如说他让你用,不是让你用这个ABC,现在你可以起个变量叫ABC,那假如说有一天Python把ABC用了,也就是说把ABC升级为关键字了,也就是说现在ABC你还能不能用了,诶肯定不能用了,但是问题来了,你之前的项目员是不是有变量使用了ABC啊,那这个时候就会导致你必须把你之前的项目全都给它改了,那这样是不是就很麻烦呀?哎,所以为了避免这个问题,所以它也会设置一些保留字,还有这些关键字,那关键字和保留字有哪些,我们来简单看一下啊,还是打开我们这个文档啊,文档找哪呢?叫做一个language reference啊,我们这直接搜一下CTRLF,叫做一个keywords,啊,在这儿idents叫做标识符and keywords keywords就是我们这个关键字,这里边我直接找,那这个是我们这个Python里边的关键字,什么fourth呀。
13:54
啊等等一系列乱七八糟,这些都是这个关键字,那这些东西我们都是不能去使用的啊,不能去使用的,那同学说老师我用不用去记它呀,不用去记,这东西以后我们都会去学啊,都会去学,而且也不用,即使不学也不用刻意去记它,为什么呀,因为你用就报错对吧,你用的时候程序就自然给你提示了,所以你也不用去刻意去记它啊,知道一下就OK了,知道在哪找它就OK了。好,这是我们的keywords,当然我也我就不粘了啊,我就不粘了,好然后再来说一下,也不建议,也不建议,呃使用我们这个Python中的这个函数名作为标识符,呃,什么意思呢?那我们这先把它注掉啊,像我们这些关键字和保留字是被Python占用的,不让我们用,但是有一些东西实际上Python并没有占用,比如说print,我直接等于一个这个123。现在我给这个变。
14:54
但赋值一个123,我问你这个是不是一个合法的标识符,哎,很明显它是一个合法的标识符,你看英纯英文的对吧,也没有数字开头也没有乱七八糟,其他东西是一个合法的标识符,但是注意啊,但是注意先说它会不会报错,哎,我们这一执行走一个,哎,没有报错对吧,没有报错就证明这个标是不是行的,但是注意啊,现在我来一个print,一个print,这时候print啊print一个print,我这一执行是不是报错了,告诉你print。
15:30
啊,这应该是printt啊,保存一下我这一执行,咱们来看是不是报错了,哎这次这错误咱们先不先可以看一下in object is notable叫什么呀?叫做in这个类型的这个对象不能被调用,那什么意思?现在注意我们给print之前它是一个函数,现在我给print个赋值了一个123,那它现在还是不是函数了,不是了,它就变成了123个数字了,那你要想把123这个数字当成函数去调行不行啊,哎,肯定是不行的,所以这时候就出问题了啊,就导致你这个符的函数就不能用了啊不能用了,所以注意也不建议使用Python那个函数名作为标志符,因为哎这样哎会导致我们这个函数被覆盖,函数被覆盖,所以像这种名就不要写了,但是呢,呃,它是比较比较不好办的一个,因为这个函数名啊,有的时候你不小心,你可能就不知道它有什么内置函数,对吧,那这个时候就需要我们靠经验了,那也就。
16:31
就是说实际上我们常用的一函数以后我们都会用到,那这些名,你千万不要起作这个什么呀,变量名,或者干脆你觉得这个名感觉很奇怪的时候,你一定要小心一下,千万不要使用它这个作为变量名啊,作为变量名好,然后再往下说,第三一个啊,第三一个,第三一个就不是强制要求了啊,像我们这个这玩意儿,这玩意儿就是强制要求,第三一个不是强制要求了,第三个是什么呢?是我们的规范啊,我们这个命名规范,命名规范什么叫命名规范呢?就是说我们这个名字要怎么起啊,在我们这个Python中,哎,我们主要遵循两种命名规范,哎两种命名规范一种我们叫做下划线命名法啊,下划线命名法,还有一个我们叫做帕斯卡命名法,帕斯卡命名法摸应命摸英名命名法,呃,或者呢,也可以叫它是大驼峰名法。
17:31
大头风命名法,那这里边我们来说一下,先说下划线命名法是怎么怎么命名的,下划线命名法啊,就是它的是所有字母,所有字母小写,然后单词之间使用我们这个下划线分割,下划线分割什么意思?有时候我们取的变量,像我们这个abcd的都比较简单的对吧?这谈不上什么命名法,但是当我们取的是一个比较复杂一个变量,比如说我想创建这么一个变量,叫做一个max Les rth啊max Les这个叫做一个max最大Les长度,我想创建一个这个变量来表示一个最大的长度,那这个时候我们要怎么写,如果你这么写,连一块给它写一块,那也行对吧,但是导致的问题就是我们这个单词它不好读了,哎,不好读了,也就是说我看不出来这个max跟Les他们的一个关系,它是几个单词,是一个单词还是两个单词,还是三个单词,分不出来了,那所以这个时候我们就需要用一种方式来把这个。
18:31
词让这个变量的名字更加的清晰,那同学说了,你加个空格不就完了吗?但是注意我变量里能写空格吗?哎,不能写空格,只能写字母,数字,下划线,其他的什么叹号,艾特符啊,井号乱七八糟都不能用,只能出现这三种玩意儿啊,只能出现这方法,那更何况空格呢,对吧?所以这种东西是不能出现的,那怎么办呢?那我们就可以这种方式干嘛呢?诶,在我们两个单词之间加一个下划线,那这样我们是不是就很的清楚的看出这是两个单词,哎,两个单词,那或者说你是一个mean Li,那就是mean下滑一个Les,那这样结构看起来就非常的清楚,比如说是hello word,你可以写一个hello,哎,Word它的一个整体结构就是一个XXYYY,然后是一个ZZZ,后边有还可以再写啊,每个单词之间都使用下划线来隔开啊,所以这个叫做一个下划线命名法,这个是我们在我们的Python里用的最多的一种啊,用的最多一种以后我们所用的变量,包括文件名,我们尽量都。
19:31
采用这种下划线命法,像我这块起的名儿其实就不太好,我应该不应该用点,我应该用零一_零二_0303下划线啊,这还写错了是吧?这应该是一个我改一下名啊,改一下名,这应该是一个零三基本语法我应该都不用点了,因为下划线去给它连接啊,但是现在我就不改了,我这个文件名我就先不统一了,那也就是我们变量的时候一定注意全都用这个下划线来连接啊,就用下划线连接好,那下边我们来说叫做帕斯卡命用法,其实所有命名法都这么一个目的,帕斯卡命名法也叫大托命法,叫什么呢?它是首字母大写,首字母大写然后什么呢?诶,其余字母小写,哎,其余字母小写,然后每个哎这么写吧,首字母大写,然后哎,每个单词开头字母大写,哎,其余字母小写什么意思非常简单,比如说麦克Les这个东西,我们用帕斯卡命法来表示是什么?
20:31
首先M你得大写,然后AX,然后呢,L是不是第二个单词呀,哎,L大写后边ength小写,这就是一个max Les,然后这有一个m Les,那就是in,然后l m Les,诶,Hello world h大写lo hello,啊,XXYYZZXXXYYYZZZ,每个单词的首字母进行大写啊,每个单词首字母进行大写,那这个就是我们的一个命名的规范,那命名规范为了什么?就是为了让我们读这个变量读起来更清晰,但是其实下划线这种写起来会稍微有点麻烦,因为多东西了对吧,但是它看起来确实比这个玩意儿要要清晰一些,对吧,要清一些,所以一般情况下我们都会用下划线名法,什么时候用这个帕斯卡,哎,我们在这个这个写一些类名的时候,我们会用到帕斯卡,其余的全都用下划线啊,下划线好,那这个是我们,哎,再说一嘴是吧,为什么叫帕斯卡,因为这种命名方式最早是在。
21:31
一个语言叫做pasco这个语言来使用的,所以就是以它这个语言为命名了,叫做帕斯卡命名法啊帕斯卡命法好啊,那这个就是我们说的一个标识符的一个规范,一共三点,第一个标识符中可以含有字母、数字下划线,但不能以数字开头,换句话说,我写这么一个标识符,这叫行不行?哎,不行,里边是不是出现这种非法字符了,所以注意啊,字母数字下划线,然后标识符不能是Python中的关键字和保留字啊,也不建议使用pthon中的函数名作为标志符,因为这样会导致函数被覆盖。命名法两种方式,一个是下划线命名法,一个是帕斯卡命名法啊帕斯卡命名法,哎,然后呢,我们说了,如果你使用的标识符不符合规范,那它会报错啊,它会报错在这儿呢,留一个小的练习,哎,留一个小的练习哎,尝试哎自己。
22:25
哎,定义几个这个什么呀,哎,几个变量啊,几个变量,变量尽量干嘛呢?尽量复杂一点,也就是说你不要定义这种A呀,B呀C呀这种,哎这种变量,你可以听一下我这种max LIS呀,MLIS呀,Hello world呀,什么max edge啊,Max white呀这些啊尽量复杂一些啊复杂一些,哎然后干嘛呢?诶然后诶打印这些变量,诶打印这些变量,哎就这么简单是吧,哎复杂一些,诶尝试什么呢?尝试不同的一个命名法,诶你用这个帕斯卡命名法命名一下,也可以用这个下划线命名呢,是吧,都尝试一下,熟悉一下这东西,没什么可难的,然后呢,诶通过搜索引擎。
23:08
哎,搜索一下还有哪些其他的命名规范,其他的命名规范,还有一些其他命名规范是吧?可以自己去看一下有没有啊,可以去了解一下,这个课上我们就不多说了啊,那注意啊,关于命名规范这个东西,它并不是一个强制要求,你说我就不用下划线,我就不用帕斯卡,我就不用这个大大通风这种病吧,我就一个大写一个小写,一个大写一个小写,行不行,行一点问题都没有,但是容易让别人以为你是神经病,对吧?这个东西它就是一个规范,大家都习惯这么做,就跟我们说,我们习惯大家都习惯靠右走的时候,你就往左走行不行没问题,但是你往左走就你被撞死的几率可能高一点,对吧,就这么一个问题,所以到了公司工作以后,呃,尽量按照大家的工作习惯,工作方式来做,那这是我们整个行业的习惯,也是要求我们大家是必须要遵守的啊,必须要遵守的好,这是我们说的一个变量和标识符,我们来听一下。
我来说两句