当前位置: 主页 > 日志 > Python >

[转]Python中is和==的区别

 转自:http://www.codecho.com/comparison-in-python/

 

通常我们写:

1
if foo is None: pass

这个写法与以下的写法有何区别呢?

1
if foo == None: pass

is当比较的是相同的对象实例时总是返回True。而==则完全决定于__eq__()方法的实现。例如:

1
2
3
4
5
6
7
8
9
>>> class foo(object):
       def __eq__(self, other):
           return True
 
>>> f = foo()
>>> f == None
True
>>> f is None
False

本文英文内容:StackOverflow

[日志信息]

该日志于 2011-05-29 19:45 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “[转]Python中is和==的区别” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部