# id函数:获取的是对象在内存中的地址
# is :比对2个变量的对象引用(对象在内存中的地址,即id() 获得的值)是否相同。如果相同则返回True,否则返回False。换句话说,就是比对2个变量的对象引用是否指向同一个对象
# ==:比对2个变量指向的对象的内容是否相同。
x = 1
y = 1
print id(x)
print id(y)
x = "adfasfdasfdasfdsa"
y = "adfasfdasfdasfdsa"
print id(x)
print id(y)
print 'x is y : %s' % (x is y)
print 'x == y : %s' % (x == y)
print 'cmp(x,y) : %s' % cmp(x, y)
class Test(object):
def __init__(self, id):
self.id = id
pass
def __cmp__(self, other):
return cmp(self.id, other.id)
x = Test(1)
y = Test(1)
print id(x)
print id(y)
print 'x is y : %s' % (x is y)
print 'x == y : %s' % (x == y)
print 'cmp(x,y) : %s' % cmp(x, y)
输出:
30901464
30901464
42512200
42512200
x is y : True
x == y : True
cmp(x,y) : 0
42565760
42565816
x is y : False
x == y : True
cmp(x,y) : 0