温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,关于我们这个可变对象呢,我们还有一个问题要说一下,嗯,这个问题就是其实我们之前也说过这个问题了,就是我们这个相等,还有这个is啊,就是什么呀,我们这个等等,等等,还有不等,还有什么呢?还有我们这个is,还有一个叫做is not啊这么几个啊,那这是两组对吧,两组那这块我们之前说过了,等等,还有这个不等,它比较什么?它比较的是我们这个对象的值是否相等啊,比较的对象的值是否相等,呃,我们这先改一下啊,看写成大写的了,而我们这个什么呢?Is和我们的这什么呢?Is not,它比较的什么呢?哎,比较的是我们这个对象的这个ID是否相等,那其实这个就是等于什么呀,它就是比较,哎,它就是比较什么呢?比较我们这个两个对象是否是同一个对象啊,是否是同一个对象,那这。
01:00
给我们来演示一下啊,来演示一下,那这里我们来看一下,我直接来一个A等于一个123,嗯,然后呢,我再来一个B等于一个123,那现在注意了,我们现在A和B2个都等于123啊,都等于123,但是这个时候我要问你了,它俩看起来是一样的啊,你打印A逗号一个B1保存一执行是不是都是123啊哎,都是123,但是注意它俩是不是一个对象,你直接来一个IDA怎么看是不是一个对象啊,是不是就是看他们的这个内存地址一不一样啊,诶内存地址一不一样,我们这一保存一执行,内存地址是不是两个地址啊,诶两个地址内存是不一样的啊,内存地址是不一样的,那这个时候如果我用print来什么呢?我来一个A等等于B,我来看A和B是否相等啊,是否相等,我们这一执行来看返什么,返回的是一个处,为什么是处,因为他们的什么,它们的值是不是都是123呀,诶值都是123,所以注意A和B的什么呢?A和B的这个值相等。
02:00
哎,我们使用什么呢?使用我们这个等等会返回处啊,会返回处,那反过来我们再来看,我来一个A叫做is b啊isb,那我们说它俩是不是同一个对象啊,很明显不是,内存地址是不是都不一样啊,诶内存地址都不一象,所以在这我一执行is的话,返回的是什么?返回的是一个false啊,返回的是一个false,所以这个返回的是一个false叫什么呢?诶A和B,诶它不是同一个对象,内存地址不同,哎不同,它使用什么呀?使用这个is会什么呢?会返回for啊,会返for,所以注意这两个区别,等等是比较的,我们对象那个什么呀,是比较我们这个对象的value啊,Value,而我们这个is比较的是什么呢?比较的是一个ID啊,比较ID,所以相比较来说,我们的意思更严格一点啊,意思更严格一点,你只有你两个是完全一样,是同一个对象的时候才会返回什么呀。
03:00
回处,你就说你两个得是同一个对象才会返回处,那比如说看着怎么就同一个对象了,我这来一个A等于什么呢?A等于B,我现在是不是要两个是同一个对象了,这样一执行是不是才是处,哎,才是true啊,所以注意它的区别啊,意思更严格一点啊,而等等呢,只是比较值,而is是比较内存地址,那这两个东西根据我们实际需要去选择,一般情况下,一般情况下其实会用等等啊,Is就是你当时需要比较严格的验证,验证这两个东西是不是同一个对象的时候会用到,意思一般我们就用这个等等就够了啊等等够了,好,这里我们还是停一下。
我来说两句