关系运算符
关系运算符用于比较操作数的值以确定它们之间的关系。Python 中提供了以下关系运算符:
等于
如果左操作数的值与右操作数的值相同,==
运算符返回 True
。
>>> 2 == 2
True
>>> 2 == 3
False
对于像 str
、list
或 tuple
这样的序列操作数,如果两个序列完全相同,则结果为 True
。
>>> "python" == "python"
True
>>> "pypi" == "python"
False
>>> [1, 2, 3] == [1, 2, 3]
True
由于序列是项的有序集合,因此项排列的顺序非常重要。
>>> [2, 1, 3] == [1, 2, 3]
False
不等于
如果左操作数的值不等于右操作数的值,!=
运算符返回 True
。
>>> 2 != 2
False
>>> 2 != 3
True
>>> 'py' != 'oy'
True
>>> [2, 1, 3] != [1, 2, 3]
True
>>> [1, 2, 3] != [1, 2, 3]
False
大于
如果左操作数的值大于右操作数的值,>
运算符返回 True
。
>>> 3 > 2
True
>>> 2 > 2
False
对于字符串操作数,>
运算符根据每个字符的 Unicode 码点(整数)逐一进行比较。
首先比较两个操作数第一个字符的码点。如果它们相等,则比较两个操作数下一个字符的码点,依此类推。
例如,
>>> "python" > "Python"
True
"p"
的码点 (112
) 大于 "P"
的码点 (80
)。由于 112
大于 80
,表达式计算结果为 True
。
让我们看另一个例子:
>>> "pYthon" > "python"
False
第一个字符的码点相同 (112
),因此比较下一组字符。"Y"
的码点 (89
) 不大于 "y"
的码点 (121
),因此表达式计算结果为 False
。
如果两个字符串操作数 p
和 q
的长度不等(len(p) < len(q)
)并且 p
是 q
的子串,使得 q = pt
,其中 t 是长度大于 0
的任何字符串,则 q > p
返回 True
。
>>> "python" > "py"
True
对于像 list
或 tuple
这样的序列操作数,从索引 0
开始逐项比较。
>>> ["p","py","PY"] > ["p","Py","PY"]
True
>>> [1, 3] > [1, 2]
True
>>> [1, 3, 4] > [1, 2]
True
在上面的示例中,"py"
大于 "Py"
,3
分别大于 2
。
如果两个序列长度不等,并且较短的序列是较长序列的起始子序列,则认为较长的序列大于较短的序列。
>>> [1, 2, 4] > [1, 2]
True
大于或等于
如果左操作数的值大于或等于右操作数的值,>=
运算符返回 True
。
>>> 3 >= 3
True
>>> 2 >= 3
False
对于序列操作数(str
, list
, tuple
),执行的比较操作与上面讨论的 >
运算符类似。
>>> "python" >= "Python"
True
>>> "python" >= "python"
True
>>> ["py", "py", "PY"] >= ["py", "Py", "PY"]
True
>>> [1, 2] >= [1, 2]
True
>>> [1, 2, 4] >= [1, 2]
True
小于
如果左操作数的值小于右操作数的值,<
运算符返回 True
。
>>> 2 < 3
True
>>> 3 < 3
False
对于序列操作数(str
, list
, tuple
),执行的比较操作与上面讨论的 >
运算符类似。
>>> "file" < "Pile"
False
#f(102) > P(80)
>>> "py" < "python"
True
>>> ["Py", "PY"] < ["py", "PY"]
True
>>> ['a', 2] < ['a', 3]
True
>>> [1, 2] < [1, 2, 4]
True
小于或等于
如果左操作数的值小于或等于右操作数的值,<=
运算符返回 True
。
>>> 2 <= 3
True
>>> 3 <= 3
True
对于序列操作数(str
, list
, tuple
),执行的比较操作与上面讨论的 >
运算符类似。
>>> "file" <= "Pile"
False
#f(102) > P(80)
>>> "py" <= "python"
True
>>> ["Py", "PY"] <= ["py", "PY"]
True
>>> ['a', 3] <= ['b', 2]
True
>>> [1, 2] <= [1, 2, 4]
True