Python-“ is None”和“ == None”有什么区别?

发布于 2021-02-02 23:13:18

我最近遇到了这种语法,但我没有意识到两者之间的区别。

如果有人可以告诉我与众不同,我将不胜感激。

关注者
0
被浏览
94
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    一个类可以自由选择以任何方式实现比较,并且可以选择与None进行比较意味着某种意义(这实际上是有道理的;如果有人告诉你从头开始实现None对象,那么你将如何获得它来比较True?反对自己?)。

    实际上,由于自定义比较运算符很少见,因此差异不大。但是你应该使用is None一般规则。



  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。
    lass Foo:
        def __eq__(self,other):
            return True
    foo=Foo()
    
    print(foo==None)
    # True
    
    print(foo is None)
    # False
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看