Python参考手册
内置类型 | Built-in Types
Types: 3. Comparisons
3. Comparisons
所有对象都支持比较操作。它们都具有相同的优先级(这比布尔操作的优先级高)。比较可以任意链接; 例如x < y <= z
等同于x < y and y <= z
,除了y只被评估一次(但是在两种情况下,当zx < y
被发现为假时根本不被评估)。
本表总结了比较操作:
手术 |
含义 |
笔记 |
---|---|---|
< |
严格小于 |
|
<= |
小于或等于 |
|
严格大于 |
|
|
= |
大于或等于 |
|
== |
等于 |
|
!= |
不等于 |
(1) |
是 |
对象身份 |
|
不是 |
否定对象身份 |
|
注释:
-
!=
也可以编写<>
,但这是为了向后兼容而保留的过时使用。新代码应该始终使用!=
。
不同类型的对象,除了不同的数字类型和不同的字符串类型,永远不会相等; 这样的对象排序一致但任意(排序异构数组产生一致的结果)。此外,某些类型(例如,文件对象)仅支持简单的比较概念,其中任何两个类型的对象都不相等。再次,这样的对象是任意排列但一致的。的<
,<=
,>
和>=
运营商将提高一个TypeError
当任何操作数是复数例外。
除非类定义__eq__()
方法或__cmp__()
方法,否则通常将类的不同实例比较为不相等。
一个类的实例不能相对于同一类的其他实例,或其他类型的对象进行排序,除非类定义要么足够的富比较方法(__lt__()
,__le__()
,__gt__()
,和__ge__()
)或__cmp__()
方法。
CPython实现细节:除数字以外的不同类型的对象按其类型名称排序; 不支持正确比较的相同类型的对象按其地址排序。
具有相同优先级的语法两个操作,in
并且not in
,只能通过序列类型(下)的支持。
内置类型 | Built-in Types相关

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。
主页 | https://www.python.org/ |
源码 | https://github.com/python/cpython |
版本 | 2.7 |
发布版本 | 2.7.13 |