##python 关于 “==” 和“is” 的区别
1.python 中 == 比较的是值,也就是内容 比如
a = 5
b = 5
a==b# True
2.python 中的 is 比较的是 内存地址 ,在python中想要得到一个变量的内存地址通过 id(变量名) 函数即可,id值并不固定,只要你的变量值有过变化,那id也会变化。
id(a) #140706946069456
id(b) #140706946069456
a = 5
b = 5
a is b # True 相当于 id(a)==id(b)
a = 257
b = 257
a is b # False
这是为什么呢,因为在64位的系统中,int型时,-5~256(包括-5 和256)内,两个变量如果赋值相同,都是引用同一个内存地址,超出了这个范围就是 False 了,同时,其他的类型 例如 字典,元祖 ,列表,a 与 b 赋值一样时,返回的是 False。
a = [1,2]
b = [1,2]
a is b #False