00:00
我们接着说啊,我们的下一组,下一组我们该说到我们这个比较运算符关系运算符啊。关系运算符。关系运算符用来干嘛啊?关系运算符它用来比较我们这个两个值之间的关系啊,关系运算符用来比较两个值之间的关系啊,它总会什么呢?它总会返回一个倍尔值啊,总会返回一个不尔值,那如果关系成立,它会返回什么呢?返回处哎,否则返回负啊,返回false,所以注意一,你说关系运算符它返回的结果一定是不值,要么是true,要么是for啊,要么是true,要么是for,那关系运上不有谁,其实一说你就知道这个,诶,这个。
01:02
这个还有这个还有这玩意儿,还有这玩意儿是吧?哎这么几个小东西大于号,这是干嘛的,哎是干嘛的,这是比较哎左侧值。哎,比较左值,左侧值,哎,是否大于我们的什么呀?哎,右侧值我们说了,如果关系成立,返回处不成立,返回for啊返回for这就是大于号,我们来看一下效果吧,直接来整一个啊,我这直接来一个这样吧。Print一个,其实我可以这么写啊,这么写我来一个A,诶来一个十,你大于一个20啊,我要看看十大于20,这关系成不成立,那我们说了,如果关系成立,这整个会返回一个处,不成立会整个返回一个false,那我为了方便去整这个结果,我来整一个变量ret result等于它我整一个变量来打印这个结果在这儿我直接ret,诶然后这等于我加上一个result,当然你这不这么写呀,也行,你直接把这东西写到这儿也OK,但是我这省点这啊省点这,不然我每次都得重新定义啊,来咱们这时候看效果,我这一直行,是不是一个fourth呀,Fourth证明什么呀?哎,Fourth啊,这个是一个fourth fourth证明十是不是不比20大呀?哎,十它不比20大,所以这是一个这个负啊,这是一个负,好,那接下来我们再来看啊,再来看,再来看什么呢?我再来看一。
02:34
造来一个这个30大于20,那这成不成立啊,这很明显是不是成立啊,所以这返回的是一个处啊,返回的是一个处,所以注意大于小于是比较两个值之间的一个关系啊,大于是比较是否大于,那我们再来看,那小于呢?哎,小于又来一个result等于一个这个30小于20,那30大于二成立,那小于20是不是肯定是不成立了,所以这就是一个false啊,这是一个false,所以注意啊,这个东西非常简单,就是比较它们的关系是否成立,成立就是处,不成立就是false,大于比较左边值是不是大于标值,小于比较左边值是否小于标值,记住了就OK了,那这还有什么大于等于,小于等于,这又是干嘛的?哎,大于等于我们来看啊,我们来看一个result等于十小于十,哎,或者十大于十,十大于十成不成立啊,必然不成立,十跟十一边。
03:34
一边大十不比十大对吧?所以这一直行返回的是一个false啊,返回是一个false,但是我这加一个大于等于什么效果呀,我这一直行是不是处了,哎,处了,所以这块什么意思啊,大于等于表示什么意思啊,表示你大于或者等于都行啊,大于或者等于都行啊,所以注意大于是什么呀?大于等于是比较我们这个左侧的值是否大于或等于我们这个右侧的这个值啊,右侧值就这么一个对吧?就这么一个啊,那小于等于呢,就是比较左的值是否小于或等于啊,小于呢是比较左侧值是否什么呀?哎,是否小于右侧值就这么一个,跟我们数学当中的规则是一样的啊,跟我们数学当中的规则是一样的,然后接下来我们再来看啊,再来看啊,再来看什么呢?我们这来一个result等于一个有的时候我们可能这么。
04:34
姐,我来一个二大于处,诶二是不是比处大呀?哎,我们说了处是不是相当于一呀,所以二跟处比就相当于二大于一,所以这是不是成立啊,哎,这是成立的啊,这一执行就是一个处啊,关系成立返回处,那再看一个,我来一个result等于一个二大于一,这是什么呀?这是一个字符串了,那number和字符串比,你猜也猜着了,肯定又给你来一什么呀,Type error啊type error,所以注意不同的类型啊,也就说不支持我们这个字符串和什么呀,和我们这个数字去比啊,不支持字符串和数字去比,那我如果这么比呢?我result,我来一个这个二大于一,这是不是两个字符串去比啊,哎,两个字符串去比大小行不行啊?哎,我们来看看一直行反什么来返回处啊,返回处,也就是说两个字符串的比较,它是支持的,对吧,它是支持的,那我再看一个,我来一个。
05:34
二大于11,那按理说是不是应该是false呀,啊false我们这来看一下效果,这是一直行,诶还是处还是处,也就是说他认为2:11要。要大呀,这是为啥呀,这是为啥呀?哎,我们来看啊,来看result,我们先不看它,我来一个A大于B,我们来看看A跟B的大小是多少,这意思还是什么?负,也就是说他认为A是比B小的,所以它这返回了一个负,A不大于BA对吧,A不大于B诶。
06:12
那这是怎么比的呀?哎,这是怎么比的呀,那这里我们来说一下,这是Python中比较特殊的一个啊,在Python中可以用来可以什么呢?可以对我们这个哎两个字符串进行我们这个大于或者什么呀,或者是这种小于的这个运算运算啊,大于,当然我这括号啊,等于大于等于也行,或者是小于等于也行啊,可以对两个都符进行大于等于或者小于等于的这个运算,那当对字符串进行比较时。对我们这个字符串进行比较时,哎,它比较它会什么呢?哎,我们它会逐位的去,它实际上比较的是我们这个字符串的叫做一个UN尼扣的编码啊,比较是字符串UNI扣编码,所以注意当你去比较A和B的大小的时候,实际上它比的是谁,是A和B的uniq的编码,同学说老师UN尼Q编码我也不知道啊,咱们咱们猜猜是吧,咱们假如说是吧,咱们不知道UNI编码是多少,但是咱们可以说什么呀。
07:29
假如说让你去给ABC这些字符去编码,你要怎么编,那我一想,如果我给A编一,我肯定给B边。我给A变四,我肯定比给B什么呀,编五对吧A,这B肯定是在A后边,肯定要比A大一个,懂这意思吧,哎,所以注意在这儿去比A的时候,比较他俩编码,他俩编码不管是多少,B肯定比A大啊,B肯定比大,因为B在A后边嘛,所以这个时候他认为B大,所以这时候就返回。返回for,哎,返回for,那它实际上到底比的是谁啊?哎,比的是谁?我们来看一下尤尼编码,我也给大家提供了是吧?在我们这result,在这个setup package里边有一个编码表,我们来看一下,那这里边我们直接找A和B是在是属于UNO,在是最上边我们来在这。
08:18
看啊啊,这个是找我们的,这个这个还得往上。在这呢啊,我们得找我们小A啊,大A还在,该更靠前,小A什么呀,0061,小B是0062,所以在这儿我们去比我们这个A和B的时候,实际上这比的是什么?比的是0061大于006262,那你想想那是不是肯定是false呀,哎,肯定是false啊,就这么一个,再来看一个result,我来一个什么呢?来一个C小于。D啊,C小于D,那这个很明显是不是肯定是成立了,诶,C肯定是0063 D肯定是0064,所以这一轴是不是就是处,哎,就是处啊,这写成立还写false啊,应该是一个处啊,应该是一个处,那再来看我们来看这么一个啊,等于一个AB,然后大于一个B,哎,我让AB和B去比啊,按AB和B去比,那这个结果应该是什么?哎,有同学说老师,那你这个。
09:22
AB是两位,B是一位,两位怎么着也比一位大,应该是处,应该是处,我们来看啊,走什么,还是负啊,还是负还是负,这怎么整的?哎,那注意了,我们在比较两个字符串的UNI扣的编码是,哎,是逐位比较的,哎,逐位比较的哎,什么意思?现在来看AB和B去比较它会拿什么呢?拿两个字符串中的第一位和第一位比,第二位和第二位比,第三位和第三位比,如果你这有一个ABC。
10:03
你这还有一个什么呢?BCB,什么叫主比啊,B和A比,C和B比,B和C比,对位去比,懂这意思吧,哎,对位去比,但是注意吧,只有在什么,只有在前一位没比出来的情况下,才会看第二位,就说你第一位跟第一位比没比没没分出大小来,才可以看第二位,如果第一位和第一位已经比出大小的,还看不第二位了,哎,就不看了,所以在这块AB和B比的时候,它是比的是B和A,还是比的是0061和002,这你比B已然比A大了,还看不看后边了,就不再看了啊,就不再看了,第一位比出来就不看第二位了,所以这里边一定要注意啊,它是逐位进行比较的啊,逐位进行比较的,那这里边注意了,我这来一个AB,两个是不是都是AB啊?哎,那这个时候我在前边那加上一个C,加上一个C,那注意了,前边AB没比出来,是不是在比C啊,它这没有了,那肯定这个就是一个什么,就是一个处了啊。
11:03
所以注意它是逐位进行比较的啊,逐位进行比较的,所以在这儿我们来看刚才这个二跟一比,你以为比的就是二和一吗?不是,它比的也是二和一的优逆扣的编码啊,比的也是二和一的优尼编码,那我们来看二多少二的编码是0032,而一呢,一是0031 0031,所以这是不是返回的是数哎,反函数,那再看这这儿在比的时候还是是不是也是字符串,也是锥比较啊,先拿二和一去比啊,二二合一去比,但是这块二合一比完了有没有结果呀,有结果这还看不看哎,就不看了,所以后边你爱是多少是多少,他这总会是处,因为二已经比一大了啊,已经比一大了,所以你在用我们这个大鱼啊小鱼啊这些东西,再去比较我们这个两个字数链的时候,一定要注意,它比的是unico的编码啊,可编码。
12:03
那这有啥用啊,我们来总结一下啊,利用该特性。哎,我们可以什么呀,可以对我们这个字符串按照我们这个什么呢?哎,字母顺序进行排序啊,主要可以用来排序什么呀,你有什么名是吧?ABDFT,有的人你想A在前边,C在后边,那这时候你怎么比啊,你就可以直接通过这个unicode编码进行排序啊,通过uniq编码排序,但是同学说这不是对于英文来说嘛,对于中文呢,中文我们可以看一下,在我们的这个unicode编码表里的中文呢,我们可以简单看一下,它有一部分呀,它是按照康熙字典来的,可能有一部分。哎,稍微等一下,我这个游戏出现一些小问题啊,我们来重新打开一次,那我的result set package叫做一个这个code chart。在我们这里边啊,它的中文啊,我们可以直接看一下,这直接过来了,有一部分啊,它是按照康熙字典来的,就是比较这个,比较这个特殊的叭,较这个生僻的一些字,这一部分字呢,它确实是按照我们这个笔画的顺序来排的,你看这种是什么呀,一画的对吧,一画的有这个两画的确实按照笔画顺序排的,但是也有一部分呢,比如说我搜一个,刚才我们看到一个理。
13:28
也有一部分呢,它是按照这个,你看明显是按照偏旁部首排的,你看这都是木字旁的,对吧,木字旁的,再往下你看这都这都是带木的,爱木的,所以有一部分是按照笔画顺序来的,有一部分又按照这个偏旁字首了,偏旁部首来的,所以如果你去比较这个中文的大小,那就可能不确定了,因为你这个拼乓部首不一样啊,或者笔画不一样,可能都会有问题,所以这个东西如果你去对中文进行比较的话,其实意义就不是特别大啊,意义就不是太大了,所以注意啊,对于但是呢,诶,但是对于我们中文来说,诶,意义不是特别大啊,不是特别大,当然也有可能在unix里边中文有特殊意义,你可以自己的研究一下,我这个就没有去深究,但是一般来讲,可能确实是意义不是特别大啊,一直不特别大,好这个是我们说的一个这个它啊,但是这边还有一点需要注意啊,注意如果希不希望,哎,比较我们这个两。
14:29
整个字符串的这个UNI编码什么情况下不希望呀,像这种情况我是不是就不希望比UNI编码啊,哎则哎需要将其干嘛呀?哎,转换为这个什么呀,哎,整数或者转换我们这个数字,哎,然后再比较啊,然后再比较,所以像这种情况你可以给他套个int,给他套个印呢,是不是就OK了,哎就没有问题了啊所以注意一定要注意,咱们来看看吧,比如说现在你就想比二跟11,但是现在你拿到数两个就是两个这个这个字符串你怎么比啊,那你就可以直接来一个什么呀,In它一个什么呀,哎,In它一个二,然后这来一个大于一个int,一个11啊int是一个11,这一保存,这一比是不是就first就比出来了,哎就比出来了,当然同学说你这老师你这么写不神经病吗?你直接写二零十一不就行了嘛,对,咱们是模拟一下,因为咱们到开发里边,这东西现在是我们写的,我们在开发里边,这是不是有可能是个变量啊,有可能是个A,有能是。
15:29
那B你不能直接写了吧,这时候你是不是必须转了,所以这么写的目的是告诉你,如果需要笔的话,你就可以调用in的或者float给他转一下,然后再啊转一下,然后再好,那接着来往下接着说啊往下,哎注意啊,所以这块注意需要进行转换,再比较往下再说就是谁了呢?就是我们这个这玩意儿两个等号,还有一个不等这个什么呢。这是比较两个对象的值,哎,是否相等,下边这个呢,是比较我们这个两个,哎,两个对象的值是否不相等,它俩正好相反,这个是两个值,如果相等,返回处这个是两个值,如果不等,返回处啊返回处来直接看吧,嗯,还是用它吧,Result的直接来个reut result等于一个一等,等于一,看看一跟一相不相等,注意是俩等号,为什么俩等号,就是为了跟这负值做区分的,你写一等号变成负值了,哎,所以注意是两个等号,这一直行是不是肯定是处啊,哎,一和一是相等的,我再来一个result等于一个这个hello,哎,等于一个hello。
16:46
等于一个hello,这一保存我们来一执行是不是也是true啊,哎,也是处,再来一个这来一个这个result等于一个这个ABC,哎,等等于一个BCD,这玩意什么呀?哎,这肯定是一个false啊,False所以这个我们来先写下结果,这是一个这个false,这是一个这个处,哎,这是一个什么呀,这是一个负啊负,而我们这个不等呢,不等我们直接来一个啊,来一什么呢?我来一个这个ABC叫什么呢?不等于BCD啊,不等于BCD啊,碳等就是不等,相反的意思,这一执行是不是就是处啊,哎,就是处啊,所以注意不等跟我们这个相等正好相反,相等是你两个一样了,我返回处,而不等是什么呀?是两个不一样我才返回处啊,这是不等啊,这是不等,那这里边我们来注意了啊,这一块我们来看result,再来一个,来一个一等,等于处啊,我让一和处去比啊,一和处去比,我这一直行走一。
17:46
个是不是处啊,哎,是处啊,是处,也就是说一和处他认为是相等的啊,一和处认为是相等的,那这块就有问题了,是吧?这两个东西很简单啊,等等相等返回处,不相等返回false,不等叫什么呀?不相等返回处,相等返回false,就这么简单啊,非常容易,但是这里面带来一个问题,什么问题呢?
18:09
我们之前说了,对象里边有三个数据的ID typeb,还有value,那这是有问题了,我这相等比的是对象的是什么呀?是比的是ID呀,还是type还是value啊,是哪个东西呀?哎,那注意我们这个相等比较的是,我这已经写了,比的是什么呀?比的是值是否相等,它比的是不是ID啊,不是ID啊,所以注意注意啊,这块我们来说一下,我们这块相等和什么呢?和这个不等,哎,它比较的,哎,比较的是我们这个对象的值,而不是ID,也就是说它不会管你这两个对象到底是不是同一个对象,只要你的值相等,比如说处还有一,这两个东西很明显它不是一个对象,但是由于它值本质上都是一样的,处也是一,一也是一,所以。
19:09
会返回什么呀?它会返回处啊,它会返回处,但是这两个东西是不是一个对象,哎,你可以这么看嘛,直接来一个print呢,我们来一个这个括号就出问题了啊来一个什么呢?我这来一个ID一个这个一,然后我再来一个ID一个什么呢?ID一个处,我来看他俩ID1不一样,我这一直行两个人的ID是不是明显是不一样的,哎,所以注意相等比的不是值,比的不是ID,而是什么呀,而是值,哎看同学说了,老师,那我要想比较ID怎么办呀?哎,比较ID我们用的是这个说一下啊,叫做一个is,还有一个叫做is not啊it'not is叫什么呢?哎,比较两个对象是否是同一个对象,它比的什么?比较的是我们这个对象的什么呀,ID啊,比较的是我们对象ID is not的比较两个对象是否是是否。
20:09
不是同一个对象,哎,也是比较的是我们这个对象的ID,哎,等相等和不等比较值值is is not,比较的是ID,那现在还是看这我直接来换了啊,来一个这个result等于一个什么呢?等一个e is处什么意思呀?E是不是处啊,E是不是处,一直行是什么?False,为什么反应false,因为他们两个的ID不同啊,它们俩ID不同,所以返回的是false,所以这一块先注意区分一下,由于我们还没有去讲这个不这个可变对象啊,去讲这个可变对象,所以在这儿呢,暂时不太好理解,一般情况下我们不会对这种不可变对象做这种is或者is not这种东西,我们对不可变对象不会,基本不会用,一般都是对可变对象来比的,在这儿我们先提一嘴,你先留一个印象,我们后边再去讲的时候,再去深入的说,它现在你先知道一下就OK了啊,记住了,相等跟不等比的是。
21:09
也就是我们的那个ID,哎,不是不D啊,是那个value啊,是那个value,而我们这个is和is not比的是什么呢?比的是这个ID啊,比的ID,咱们再演示一下it'not吧,我这来一个result,来一什么呢?等于一个,我这来一个a is not true,哎,A是不是不是true是吧,我这一执行反应的是什么呀?是处啊,是处,这是我们来写一下,这是一个false,这是一个处,因为它比较的是内存的地址,是那个ID啊,是个ID,好,这是我们说的关系运算符啊,这么几个大于等于大于小于小于等于等于,哎,这个不等于那个is it not啊,这么几个稍微给它记一下啊,因为咱们这还是那句话,理论知识比较枯燥,但是你必须要记住了,后边咱们还好开展啊,这些东西一定要去记,花一些心思把它记一下啊,把它记一下,然后把我的这些代码自己来尝试着去敲一下,写一下,一定要多写,一定要多写代码程序语言一定是敲。
22:09
会的一定不是看会啊,写一下记一下,后边我们再跟进这个练习,好我们先停一下。
我来说两句