Python—is,id

is比较内存地址是否相等

 is 主要是判断 2 个变量的值是否指向同一个内存地址,如果是的话,则返回 true,否则返回 false。

>>> a = 5555555
>>> b = 5555555
>>> a is b
False
>>> id(a) #a与b在内存中各开辟了一个地址存放它的值,虽然它们的值相同,但内存地址不同
1925864837008
>>> id(b)
1925868899600

>>> a = 123
>>> b = 123
>>> a is b
True
>>> id(a)
1880121952 #在这里可以看到,两个变量的值都指向了一个内存地址,在python解释器中,为了节省内存的占用,字符和数字在一定范围内存在一个小数据池,数据在这个范内指向同一个内存地址,列表、字典、元组、集合等不存在小数据池
>>> id(b)
1880121952
>>>

 id内存地址

>>> a = 321
>>> b = 456
>>> id(a)
1801244593360
>>> id(b)
1801244593392
原文地址:https://www.cnblogs.com/NeroCl/p/8082177.html