比较运算符很好理解,它用于比较两个操作数,根据比较的结果返回布尔值True或False。

比较运算符在Python中有相应的模块operator。下面列出Pyhton中所有比较运算符和模块operator对应的方法。

比较运算符operator方法说明例子
>operator.gt(a, b)大于运算
import operator
a,b=2,3
print(a > b) # False
print(operator.gt(a, b) ) #False
<operator.lt(a, b)小于运算
import operator
a,b=5,2
print(a < b)
print(operator.lt(a, b) ) # False
==operator.eq(a, b)等于运算
import operator
a,b=5,2
print(a == b)
print(operator.eq(a, b) )
!=operator.ne(a, b)不等于运算
import operator
a,b=5,2
print(a != b)
print(operator.neq(a, b) )
>=operator.ge(a, b)大于等于运算
import operator
a,b=5,2
print(a >= b)
print(operator.ge(a, b) )
<=operator.le(a, b)小于等于运算
import operator
a,b=5,2
print(a <= b)
print(operator.le(a, b) )
上面的例子中我们使用了Python运算符和operator等价方法作为对比。

Python is和等号==的区别

is是Python中身份运算符

它们的区别是:Python中等号==比较的两个对象的数值,而is比较的是两个对象的地址。看下面的例子:

#!/usr/bin/python
# coding=utf-8
a = ('y','x','j','c')
b = ('y','x','j','c')
print(a == b)
print(id(a), id(b))
print(a is b) 

输出:

True
140661990780024 140661990780344
False

从结果看出,虽然元祖a和b的数据是一样的,但是元祖是可变对象所以内存地址不同,因此is返回False,等号==返回True。