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
评论