id(object)
功能:返回的是对象的“身份证号”,唯一且不变,但在不重合的生命周期里,可能会出现相同的id值。此处所说的对象应该特指复合类型的对象(如类、list等),对于字符串、整数等类型,变量的id是随值的改变而改变的。
1 class Obj(): 2 def __init__(self,arg): 3 self.x=arg 4 if __name__ == ‘__main__‘: 5 6 obj=Obj(1) 7 print id(obj) #32754432 8 obj.x=2 9 print id(obj) #32754432 10 11 s="abc" 12 print id(s) #140190448953184 13 s="bcd" 14 print id(s) #32809848 15 16 x=1 17 print id(x) #15760488 18 x=2 19 print id(x) #15760464
注:
用is判断两个对象是否相等时,依据就是这个id值
is与==的区别就是,is是内存中的比较,而==是值的比较
时间: 2024-11-08 17:21:48