Python : is 和 == 的区别

python中的变量存储在内存中的位置,用id()来表示。is运算符比较的是两个变量是否指向了同一个对象,即id是否相同;而==比较的是两个对象的值是否相同。

即使变量a和b内存地址不一样,只要值相同,则a == btrue

对于is的运算结果,它和python的变量缓存以及其他复杂的因素有关,我暂时不了解,感觉是个坑……可能以后有时间了再来填吧。


结论:在进行逻辑判断变量值是否相等时,还是尽量使用==吧。

updatedupdated2021-01-062021-01-06