python 中的 「==」 用来判断两个变量的值是否相等,如:
1 2 3 |
a = [11, 22, 33] b = [11, 22, 33] print a == b //True |
is 也是用来判断是否相等,但是是判断地址:
1 2 3 4 5 6 7 |
a = [11, 22, 33] b = [11, 22, 33] c = a print c == b //True print c is b //False print c is a //True |
因为 a 和 b 是两块不同的地址空间,虽然值相同,但是地址不同,所以使用 is 的时候会返回 False 。
而 c 是直接被赋值 a,它所指向的地址就是 a 的地址,所以 c is a
是 True
评论