python is 和 ==的不同

来源:互联网 发布:js点击后跳出对话框 编辑:程序博客网 时间:2024/05/19 20:00

is是俩个变量指向同一个对象的时候

==是俩个对象的值相同

>>> a = [1, 2, 3]>>> b = a>>> b is a True>>> b == aTrue>>> b = a[:]>>> b is aFalse>>> b == aTrue

python的缓存只是支持小整型的运算

>>> 100 is 10**2True>>> 1000 is 10**3False>>> 1000 == 10**3True

同样的规则适用于字符串

>>> "a" is "a"True>>> "aa" is "a" * 2True>>> x = "a">>> "aa" is x * 2False>>> "aa" is intern(x*2)True

来源 ->>Stack Overflow
python源码学习 ->> intern

原创粉丝点击