比较运算符很好理解,它用于比较两个操作数,根据比较的结果返回布尔值True或False。
比较运算符在Python中有相应的模块operator。下面列出Pyhton中所有比较运算符和模块operator对应的方法。
比较运算符 | operator方法 | 说明 | 例子 |
---|---|---|---|
> | operator.gt(a, b) | 大于运算 |
|
< | operator.lt(a, b) | 小于运算 |
|
== | operator.eq(a, b) | 等于运算 |
|
!= | operator.ne(a, b) | 不等于运算 |
|
>= | operator.ge(a, b) | 大于等于运算 |
|
<= | 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
140661990780024 140661990780344
False
从结果看出,虽然元祖a和b的数据是一样的,但是元祖是可变对象所以内存地址不同,因此is返回False,等号==返回True。