当前位置: 首页 > 后端技术 > Python

python中is和==的区别一定要清楚

时间:2023-03-26 13:14:29 Python

Python中isis用于判断两个变量的引用对象是否相同,也就是说aisb等价于id(a)==id(b),引用对象相同,地址相同,见例1#Example1a=1b=1print(aisb)#Truea=1.1b=1.1print(aisb)#Truea=[1]b=[1]print(aisb)#Falsepython出于性能考虑,对于具有相同值的不可变对象,不会重新创建新的地址来存储对象,而对于可变对象,会重新开辟空间。但是在交互模式下有点不同,见例2#例2>>>a=1>>>b=1>>>a是bTrue>>>a=444>>>b=444False>>>aisb>>>a=1.1>>>b=1.1>>>aisbFalse区别:1.对于比较小的等值的int类型,不会重新开辟空间来存放对象,而是等值的比较小的int类型大int类型会重新开辟空间2.非int类型等值会重新开辟空间来存放对象。====在Python中是判断两个对象的值是否相等,不管两个变量的值所引用的对象是否相同,见例3#例3a=1b=1print(a==b)#Truea=[1]b=[1]print(a==b)#True公众号:CVpython专注于分享Python与计算机视觉,坚持原创,不定期更新。希望我们的文章能给您带来启发,共同进步。