00:00
那么我们来讲解一下第二章节的最后一部分内容,那么就是我们的运算和运算符的最后两个啊,哪两个呢,是我们的身份运算和我们的成员运算,这两个运算首先呢,给大家来看一下,或者简单介绍一下什么叫身份运算,什么叫做成员运算,好吧,首先呢,先给大家介绍的第一个叫做什么呢?叫做身份运算啊,身份运算简单的说,身份运算就是叫做检测两个数据在内存中是否是同一个值啊,同一个值哎,这叫做身份运算,其中身份运算的符号倒是少啊,它就两个,一个叫做is,一个叫做it's not,一个叫it'not。A很简单啊,是呗,是不是A就是是的意思啊,它的作用是检测一个数据和另外一个数据,和另外一个数据在内存中是否是同一个值,而it not则刚好相反,它是检测一个数据和另一另外啊,另外一个数据。
01:08
在内存中是否不是同一个数据?同一个数一个值啊,也就说这俩哥们刚好是相反的结果啊,那对于这种检测的运算结果,我估计大家也能预测到,那是就是不是就不要么是要么不是呗,是不是,所以他的预测结果是一个布尔值啊,来给大家写一下视频预算的操作好不?首先呢,在这里边右键新建一个文件啊,给到我们第14个文件了,My card2下线14。来写上我们的注释,身份运算啊,身份运算。或者叫身份检测预算都可以啊。好,在讲身份运算之前呢,给大家讲解另外一个身份运算运动的知识,叫做ID标识啊,叫做ID标识什么叫做ID标识呢?就是系统或者为我们什么呢?数据分配的编号啊,分配的编号就相当于什么呀,我们人在社会中,是不是国家给我们一人分了一个什么呀?一人分了个身份证号吧,是不是?那身份证号是不相同的吧?如果身份证号相同,这能证明什么呀?两个人是两个身份证,根本就是同一个人是不是?嗯,那ID标识这个东西就是系统分配给数据的,那这个标识该怎么看呢?其实也不难,首先我们得有一个数据VR等于随便你写什么东西啊,别写个数值也没有关系,写一个整形不点型都可以,然后呢,我想查看它的ID标识,用ID抛上括号,然后把你的变量往里一放就可以了,这就得到了ID标识,如果说啊,我们想什么呢?标识啊,标识,写个标识,你想看这个标识是什么,你可以打印它。
02:48
来直接打印BS标识,右键运行一遍程序,大家可以看到啊,它的标识是什么幺四什么乱七八糟的,是不是很长的一串编号啊,这个编号呢,嗯,在你界面不关的情况下,它是不会重新分配的啊,然后呢,这个东西就是我们系统中用来分辨这个数据的一个什么呀,标志符号。
03:10
那么我们身份检测预算其实就是干什么事呢?检测数据的标识啊。就是检测写错了啊,叫检测数据的标识啊,用这个作为依据来判断一下两个数据在内存中是不是同一个数据啊好,那那这种方式大家会了之后就好办了呀,首先教大家一招啊,我们先来看一下A运算行不行啊,A运算就是检测啊,检测是同一个啊好。同一个,那我们在里说明两个变量呗,行不行?VR1啊,等于55 VR2啊,等于55,那么大家就问了,这两个在内存中是同一个数据吗?其实这种问法可能大家不太好理解,理解好理解的方式可以这样说说VR1和VR2,它们两个值都是55,在内存里有两个55,还是只有一个55,也就是他俩是共用一个55,还是分别一人存了一个55,是不是这么解释就可以了,那么这个时候我们可以用A来进行操作,Result等于VR1 VR1is vr2,其实就问一下啊,VR1和VR在内词里是不是同一个值,那么在里边我们可以打印结果啊,其中通过打印结果可以明确的告诉大家它的内存是同一个值,也就说结果为处证明它俩在内存里边只有一份,那这个时候我们就要启动我们之前讲过的ID标识了,用这个来做判断的,那么他们的ID标识是一样的吗?来查看ID标识啊。
04:40
就是用这个作为依据嘛,咱之前是不是刚刚给大家说过啊,是不是查看ID标识好写错了啊,不是这个标识啊标识,那这里边print我们直接打印了好不好打印ID括号里边VAR再打印啊,直接在一起吧,行不行,逗号ID套上括号VR这个是不是教大家print用逗号分割可以同时打印多个数据吧,来右键。
05:03
输运行变发现没有728140是不是140728是不是完全一样啊,你比较少啊,这就证明它俩是一样的,然后呢,你要表52 52和55是一样的吗?来右键运习一遍,你会看见它是false,但是它的ID标识是不是也不一样,对不对?所以我们说过ID标识就是它判断的依据,那么兄弟们就要有疑问了,说是不是只要两个数相同,它们的ID标识就一定一样呢?这个不是的啊,这个不是的,你说我如果把它改成负50,它就完全不一样啊,我如果改成负数。它就完全不一样啊,负数。来右键运行一遍,你会发现,哎呀哎,Sorry,记错了啊,负55也是一样的啊嗯,这个版本55也一样吗?205205啊,也是处啊,我们再改一个,呃,负55.5吧,负55.5啊。好。来右键运行一遍。还是一样的啊,新版本改成一样的了啊,新版本改成一样的好了,那这个时候大家发现,哎呀,好像写两个数值都是一样的,是不是我怎么改它都是一样的啊,这个东西根据Python的版本不同,它的最后运算结果也是不一样的啊,其中在3.7版本里边,只要是个整数啊,你1234你随便写,管它正的还是负的啊,再我们的来1234。
06:20
又再越写一遍,你看。是不是都一样,128128,我负的1234也无所谓,负的呃,写错了,负的1234,负的1234,右键运行一遍,你会发现,哎呀,是不是还是一样,是不是也要整数,什么大的小的无所谓啊,它都是识别的。OK,那福建数呢?福建数也一样吗?没错啊,也一样啊,在新版本里确实都一样,你看管它是正的还是负的都一样,来,右键运行一遍。是不是都一样,是不是哪怕是你写一个字符串它也是一样,哎,我们写上一个大西瓜啊,就是写拼音吧,行不行大西瓜,然后下面这个也写啊大西瓜来右键略行一遍,你看。
07:05
是不是还是一样的,这是我们注意3.7以上版本才是这样的支持啊,所以这个需要给大家加一个注意事项啊,注意啊,注意一定要看你的版本啊,我们在S版本跟这这个东西还是有很多不一样的地方啊,就是不同的版本一些特色,呃,特殊的一些设置还是不一样的,3.7以上啊,3.7以上版本。那么整数浮点数和字符串和字符串都完全一致啊,只要只要只要值一样啊,值一样,那么ID标识就一样。标识就一样,但是3.7以下版本不是啊三点,比如说3.6版本或者3.5版本,3.6和3.5版本,这个以下的版本,它是从负五到正无穷是一样的,就是整数负五到正无穷是一样了,那负六以下就不一样了,浮点数啊是零以上一样,零以下就不一样了啊,0.0以上一样,0.0以下就不一样了,所以这个要看版本,OK,但是大家了解一下这个特色就可以了,好不好,这就是A,那还有一个叫做s not啊s not。
08:12
A not,它是检测是否不是同一个,是不是刚刚反过来的是不是,所以这个时候呢,我们可以VR1啊等于99 VR2啊也等于99。A点九,九,那么它们两个的运算结果result a叫做等于我们VR 1is not is not we are2,那么根据我们之前学过的知识,就刚刚讲过嘛,整数是不是都一样的标识啊,所以它运算结果是不,因为你要检测不是同一个,它是true啊,同一个就是做法,所以99和99的I标识是相同的,所以运算结果不符合它的要求,如果你想看D标识的话,把这些话复制过来啊,然后我们放在下面,你会发现这俩哥们的ID标识啊,99和99王雪要。
09:01
是不是完全一样的标识,所以是false,如果你写一个99和98,那大家知道这两个值不一样,它的ID标识肯定不一样吧,好,你看一下ID标识1136 1104,肯定不一样吧,所以它的预算结果反而是true了,因为它不一样,它是true it not刚好和is是相反的结果嘛,这个时候大家会什么呢?会检测这个身份了吗?当然这里边还需要注意另外一个东西啊,什么东西呢?关于其他的数据类型,或者叫我们的容器类数据类型,或者其他数据类型啊。我们其数据类型里是不是还有列表组点集合呀,这几个数据比较特别,为什么呢?即使是比如说我们写个VR1等于一个列表啊,列表1231。写个一逗号二逗号三,然后呢,再写个VR2啊,V2等于中括号里边我也写123,它们是一样的吗?我们并不得知是不是,所以这个时候我们来检测一下行不行?Result等于VR1AVR2也是VR1和VR是相同的吗?来result。
10:07
来看一下结果,你会发现,哇塞,他们的结果在哪呢?我是不是打印错了地方啊,没有啊,打印错地方了,我我手都跑偏了,跑偏了,我们的代码跑偏了,放上面去了。Sorry sorry sorry,刚刚代码放错位置,我需要拉一下好不好,别着急诶,怎么出两份,是不是多复制一份在这呢?啊,好,把这个剪贴下来放到最后啊。刚刚放错位置了,不好意思啊。还不太好使,滚轮好了,往下拉,放到最后就可以了。放到我们的最后,然后呢,粘贴一下,你看一下两个列表,这哥们啊,是不是一样的呢?你会发现错诶,这俩列表完全一致啊,没错,如果你用来查看列表ID标识的话,你会发现没有用的,无论怎么样,无论是什么样的两个列表,它的什么呀,ID标识永远不同,即使两个列表里边都是空的也不相同啊。
11:01
也不相同,预算预再预算一遍是不是还是false?所以这里可以告诉我们一件事情啊,什么事情呢?像列表这种能存储多个数据的容器,它们的ID标识永远不同。所以注意列表元组字典集合啊。列表元组、字典集合,即使数据相同,它们的ID标识也不同。也不同啊,只要你采用这种什么呀,变量赋值,变量赋值的方式就是不同,大伙都说那你有没有相同的,有啊,不过这就要违反规则了,什么情况下是相同的呢?这种情况VR1等于VR2等于一个列表,你这种情况相当于什么呀?两个变量使用同一个什么呀?两个变量使用同一个列表,这个是完全一致的啊,这个你如果用来检测的话,那么result等IUT啊,IUT等于v is vr2它的预算结果是true啊。
12:05
It上来看一下这个预算结果是出的,看见没有是出的,也就说你采用这种连续赋值的,连续赋值,它们才能一样啊,连续。赋值的列表元组。元组四点集合,那么它们什么ID标识是相同的,标识相同啊,只有如果你是单独为两个变量赋值两个数据,即使数据一样,它们也不会一样,好吧好吧,那么关于我们的这个叫做什么呀?这个身份检测运算就到此结束,身份检测运测完了之后呢,给大家讲一下,另外一个也是我们最后的一个运算叫做什么呢?成员运算啊,成员检测运算。来看一下我们最后一个成员检测运算,其实这个倒是很很简单,成员嘛,就是在不在里边呗,是不是成员检测运算,成员检测运算,哎,运算啊,运算它的运算符号呢,也有两个,一个叫什么呢?一个叫做in,一个叫做not in啊。
13:08
In就是什么呢?在啊叫检测一个数据,一个数据是否存在于啊,存在于容器当中,存在于容器当中。另外一个就是检测一个数据是否不存在于容器当中,就这么简单啊,一个是存在,一个是不存在,那在这里边我们来给大家写一个文件介绍一下,右键新建我们的文件,在里边我们写一下该到我们的第15个文件了,也是我们最后一个了,买扣二下线15文件来成员检测预算,成员检测预算。仅限于容器类数据啊,容器类数据是不是给大家之前给大家提过啊,是不是成员检测运算啊,就相当于我们的什么呀,列表容子解集和字符串对不对,这个叫成员检测运算,好吧,那我们来看一下成员检测运算中的in操作啊,硬操作检测存是叫做是否存在于容器中。
14:12
好,容器中,那这样一来的话,我们就可以做个实验喽,容器中。好,我们写一个什么呢?我们写一个叫做IP语言列表,行不行,IP啊,写一个IP语言列表,比如说我们在里边写上多种语言,比如说写上什么PHP,注意都是大写的啊,写上我们的Java AVA,然后写上我们的Python Python写上我们的什么呢?C加加啊,啊或者叫c plus plus是不是写上我们的c sharp,然后呢,再写上我们的C语言,好就这些,接下来的话,我写了一个列表,我想看一下某种语言是否在我已存在的列表中,怎么运算呢?就在这里边,首先声明一个变量。Result等于那种语言呢,比如说我要检测一下PHP在不在我刚刚这个it列表里边呢,用in in写错了啊,用in我们叫IP就可以了。
15:06
这个时候的意义就是检测pap这个字符串在不在你it这个列表中存在啊,如果它存在于里边,那么结果在里边是不是就是错啊,啊,没错,也又接着运行一遍,你会发现哦。是不是错说明什么呀?PP在我们这个语言列表中,那如果你写一个别的,比如说我写一个javascript啊,Scriptpt,那么因为script根本就不在列表中,所以运算结果是一个false,看到没有,预算结果就是一个false,就这么简单啊,就这么简单,当然你写的时候也需要注意啊,你好,小写的pap和大写的pap也是完全不一样的,毕竟是两个不同的字符段了,是不是?所以这也是false啊,必须完这一样才可以。这就是我们什么呀,成员检测印的使用方式,当然他不一定非得用列表来操作,这种方式大家看出来了,这是一个列表对不对,这是一个列表,其实容器内数据都可以用它来检测啊,列表。
16:02
比如说我们再写一个元组。元组也可以写,我们写一个元组好不好。元组啊,说元组,那么在这里边我们直接写上it啊,等于小括号里边把这个值复制过来,这不就剩一个元组了吗?来复制一下粘贴进来,那么预算结果依然是出。是不验错元组集合也可以来,我们来看一下集合能不能行呢?集合来集合。集合啊,集合这块的话,那无非就是把什么呀,把括号改改是不就可以了,ID等于画括号里边嘛啊这个时候呢,运算结果越为two啊,也就说都可以用,甚至是我把它做成一个整个字符串也可以啊,比如说给大家写个字符串吧,字符串啊。字符串,那字符串这块怎么玩呢?嗯,我们可以写上it啊,等于把它们这些东西放到一起,然后干什么事呢?都去掉中间的连接符号啊,也是要把各种语言的字符串连到一起去,做成一个语言字符串,就这个效果啊。
17:07
然后删除一下。好搞定,就这样,那这个时候大家啊,多了一个引号前面,那这个时候大家发现我写了一个字符串,里边什么PP Java Python是不是都有啊,那么运行结果依然是真啊,因为大家会发现这个字符串里真的有PP这仨字,是不是就可以就可以,所以容器类数据都可以用来检测,但是有一个需要大家特别注意,是什么东西呢?是我们的字典。字典之所以不一样,是因为字典分为两个部分,键部分和直部分,对不对?好了,那我们给大家写一个字典行不行?It字典啊,掌阅看好了,花括号里边我们第一个写一个AA对应的语言,我们可以写上一个PHP啊,A对应着PHP。PP这个语言,然后逗号我们写上B小B啊,B对应着我们的这个Java语言行不行,B对应着我们的Java啊Java然后逗号我们写个小C,小C对应着我们的Python啊。
18:04
P yon小于C对应的P逗号,然后呢小D,小D对应着我们的C加加啊,C加加,然后呢,小E。小E对应着我们的c shop。好,C sharp,你要读吸引号也没有问题啊,然后最后一个是小F,小F对应着我们的C语言,好大写的C好搞定,那么这个时候我还是要检测一下P2P在不在itp这个字典里边,那运算结果是真吗?其实不是,预算结果是假,看见没有是假,他说为什么是甲不是在里边吗?这就涉及到字典检测的特色,你检测PP不在,但是你检测小A它就在啊,小A它就在。来右键运行一遍。哎呀,错了,这个是大家一看哦,原来如此,其实字典成员检测只检查键啊,字典的什么呢?成员运算啊,乘员运算,仅仅进行键的检测啊检测,而不进行值的检测啊,仅仅进行键检测,所以我们刚刚用自检检查的时候会是一个什么呀?PP的时候会是一个负号检测A反而是一个柱,在这里边我们的成元色就需要注意这些就可以了,那么剩下最后一个东西什么东西呢?就是我们的叫做什么呀。
19:22
Not in是不是啊,Not not in not,我就不做太多的赘述了啊,就是检测是否不在容器当中啊,不在容器当中也就说不在的话就是真,在的话反而是个假,那么这个时候我们把it拿过来啊,随便从上面找一个吧,好不好啊,咱找一个集合的形式行不行?其实集合列表原子字点都一样,大家应该都知道啊。都可以检测的。然后在这里边我们只需要这样做,叫做result啊,啊,Result等于我们要查一下换个语言,比如说换一个C加加啊,我说C加加not in not in,我们的it,那么它的运算结果是真还是假呢?哎,这个时候你就要考虑到我们本身逻皮一的要求,就是不在里边,它是我要的,也就是真在里边反而是假,但是30万C加加它在里边。
20:18
不符合我不在的要求,所以预算结果是false啊,预算结果是false,看见了吗?如果你想什么检测一出很简单,写一个不存在的语言就行了,比如说LUA是不是录了来右键运算一遍,你看是不是就出了,所以不在里边才是真,在里边是假,它跟E刚好是一个反向的一个检测操作好,当然他检测字典的时候呢,依然检测的事件,这个我不再赘述了,大家请各位同学们自己做一下实验就可以了,好吧,好了,那么关于我们第二章节的内容就到此结束,感谢大家的收看。
我来说两句