特殊运算符的使用(‘==’与’is’)
相等运算符(‘==’)
定义:判断两个对象是否相等.即相等运算符
print('python' == 'python')#True
print('python' == 'java')#False
运行代码后你会发现显示的是布尔值:
True
False
PS:注意它和’=’的区别,单个相等运算符是复制运算符,是用来赋值的,不是用来比较的。
‘is’
这个运算符看起来和上面的相等运算符(‘==’)一样,其实还是有区别的。判定两者是否等同(同一对象)
a = b = [1,2,3]
c = [1,2,3]
print(a == b)#True
print(a == c)#True
print(a is b)#True
print(a is c)#False
运行程序,你会发现最后还是有区别的。
因为is运算符是判定同一性而不是相等性的。即变量a和变量b都是绑定在同一列表上,而变量c是绑定在另外一个相同数值和顺序的列表中,它们的值相等,但却不是同一个对象,就好比双胞胎,虽然很像,但不是同一个人(有点不恰当,但某一方面确实这样)。
‘in’
判定是否存在
a = ['python','java','c++']
print('python' in a)#True
print('c' in a)#False
这个在很多地方都有用到(序列、字典等)