is 和 == 的区别
本帖最后由 233倔强不秃 于 2020-3-18 21:39 编辑在python中万物即对象,所以is比较的是id值相同不相同,而==仅比较值。
id是什么?
id() 函数返回对象的唯一标识符,标识符是一个整数。id(),返回object的内存地址
对于值大小在-5~256之间的变量,python因为有内存池缓存机制,会对该值分配内存,而不是变量,所以只要是该值的变量都指向同一个内存,即id相同。
例如:
>>> a = 6
>>> b = 6
>>> a == b
True
>>> a is b
True
>>> id(a)
1794099024
>>> id(b)
1794099024
>>>
>>> a = 12412412
>>> b = 12412412
>>> a == b
True
>>> a is b
False
>>> id(a)
1934207414384
>>> id(b)
1934207414416
>>>
>>>
页:
[1]