美文网首页
关于is和==

关于is和==

作者: w_wm_m | 来源:发表于2017-10-26 13:26 被阅读0次

  表面上is和==都是用来测试相等性,可是它们却很不一样。

==操作符测试值的相等性。

is表达式测试对象的一致性。 

  ==递归地比较所有内嵌对象。is测试二者是否是同一个对象,也就是说,在同一个内存地址中。

    list1和list2创建了两个对象,在内存中分别存在两个地址存储这两个对象。

    按理来说这是两个截然不同的对象碰巧有着相同的值,那么==应该为真,is应该为假。但结果却是都为真。原因是为什么呢?

    这是因为在Python内部暂时存储并重复使用短字符作为最佳化,事实上内存里只有一个字符串供str1和str2分享。因此结果都为真。

    为了得到一般的结果,需要使用更长的字符串。

相关文章

  • 关于for,is 和 ==

    看到一个小程序,很容易犯错的地方,pycharm 都提示出错了,但是最后是没问题的 最后打印的是这个,i = 9 ...

  • 关于is和==

    表面上is和==都是用来测试相等性,可是它们却很不一样。 ==操作符测试值的相等性。 is表达式测试对象的一致性...

  • 关于&>和>&

    >&根据后面的参数不同会有不同的结果。 a.当>&后面接文件时,表示将标准输出和标准错误输出重定向至文件。(此时就...

  • 关于if()和==

    if语句是一个比较常用的语句,if语句语法格式为: if()括号条件可以为任意表达式,一般为布尔类型,计算结果为t...

  • 关于演员、关于乐观和关于爱情

    1、关于演员 我们每一个人都是演员,都在为各自的观众们表演,并且渴望获得他们的关注的目光。 在人生这个舞台上,没有...

  • 关于

    关于音乐 关于艺术 关于科学 关于真理 关于角落的书 关于那把吉他和画架 都被关于过去和心 打开于春

  • 关于「井」和「#」

    井,源远流长 井,是一种用来从地表下取水的装置。井的发明使人类在远离河流、湖泊的地方也能坐拥洁净的水源。《周易》曰...

  • 关于EnumerateObjectsUsingBlock和for

    关于EnumerateObjectsUsingBlock和for-in之间的较量 如果我们要遍历一个数组, 上过编...

  • 关于EnumerateObjectsUsingBlock和for

    站在巨人的肩膀上,从前辈那里拿来的经验。 结论1:当只是遍历NSArray的时候使用For-in会比较快速, 推荐...

  • 关于蝶和

    DIH蝶和科技作为一家全球领先的智慧医疗企业,公司不仅是全球智能康复技术及整体解决方案的领军企业,也是全球唯一能提...

网友评论

      本文标题:关于is和==

      本文链接:https://www.haomeiwen.com/subject/nwxkpxtx.html