Skip to content

关系运算符:探索 Python 中的比较奥秘

在 Python 中,关系运算符就像是侦探,用于探索并确定操作数之间的关系。它们比较操作数的值,并根据比较结果返回 True (真) 或 False (假)。掌握关系运算符是编写逻辑判断代码的基础。

Python 提供了以下关系运算符,让我们逐一揭秘:

运算符描述示例结果
==等于2 == 2True
!=不等于2 != 3True
>大于3 > 2True
<小于2 < 3True
>=大于等于3 >= 3True
<=小于等于2 <= 3True

1. 等于 ( == ):完全一致?

== 运算符检查两个操作数是否具有相同的值。如果它们完全相同,则返回 True,否则返回 False

python
>>> 2 == 2
True
>>> 2 == 3
False

对于字符串(str)、列表(list)或元组(tuple)等序列,== 运算符会比较它们的每个元素。只有当两个序列的元素完全相同且顺序一致时,结果才为 True

python
>>> "python" == "python"
True
>>> "pypi" == "python"
False
>>> [1, 2, 3] == [1, 2, 3]
True

重点: 序列中元素的顺序至关重要!

python
>>> [2, 1, 3] == [1, 2, 3]
False  # 顺序不同,结果为 False

2. 不等于 ( != ):独一无二?

!= 运算符与 == 运算符相反。它检查两个操作数是否具有不同的值。如果它们不相同,则返回 True,否则返回 False

python
>>> 2 != 2
False
>>> 2 != 3
True
>>> 'py' != 'oy'
True
>>> [2, 1, 3] != [1, 2, 3]
True
>>> [1, 2, 3] != [1, 2, 3]
False

3. 大于 ( > ):谁更大?

> 运算符检查左操作数的值是否大于右操作数的值。如果是,则返回 True,否则返回 False

python
>>> 3 > 2
True
>>> 2 > 2
False

字符串的比较:Unicode 的奥秘

当比较字符串时,> 运算符会逐个比较字符的 Unicode 码点(一个表示字符的数字)。

  • 首先,比较两个字符串的第一个字符的 Unicode 码点。
  • 如果它们相等,则比较下一个字符,依此类推。
python
>>> "python" > "Python"
True  # "p" 的 Unicode 码点 (112) 大于 "P" 的 (80)
python
>>> "pYthon" > "python"
False # "Y" 的 Unicode 码点 (89) 小于 "y" 的 (121)

字符串长度的影响

如果两个字符串的长度不同,且较短的字符串是较长字符串的前缀,则较长的字符串被认为更大。

python
>>> "python" > "py"
True  # "py" 是 "python" 的前缀

序列的比较:逐个比较

对于列表和元组等序列,> 运算符会从索引 0 开始逐个比较元素。

python
>>> ["p","py","PY"] > ["p","Py","PY"]
True # "py" > "Py"
>>> [1, 3] > [1, 2]
True # 3 > 2
>>> [1, 3, 4] > [1, 2]
True # 比较到第二个元素 3 > 2 即可确定

如果两个序列长度不等,且较短的序列是较长序列的起始子序列,则认为较长的序列大于较短的序列。

python
>>> [1, 2, 4] > [1, 2]
True

4. 大于或等于 ( >= ):至少一样大?

>= 运算符检查左操作数的值是否大于或等于右操作数的值。

python
>>> 3 >= 3
True
>>> 2 >= 3
False

对于字符串和序列,比较方式与 > 运算符相同。

python
>>> "python" >= "Python"
True
>>> "python" >= "python"
True
>>> ["py", "py", "PY"] >= ["py", "Py", "PY"]
True
>>> [1, 2] >= [1, 2]
True
>>> [1, 2, 4] >= [1, 2]
True

5. 小于 ( < ) 和 6. 小于或等于 ( <= ):与大于相反

<<= 运算符与 >>= 运算符执行相反的比较。

  • < 检查左操作数是否小于右操作数。
  • <= 检查左操作数是否小于或等于右操作数。
python
>>> 2 < 3
True
>>> 3 < 3
False
>>> "file" < "Pile"
False
>>> "py" < "python"
True
>>> ["Py", "PY"] < ["py", "PY"]
True
>>> ['a', 2] < ['a', 3]
True
>>> [1, 2] < [1, 2, 4]
True
>>> 2 <= 3
True
>>> 3 <= 3
True
>>> "file" <= "Pile"
False
>>> "py" <= "python"
True
>>> ["Py", "PY"] <= ["py", "PY"]
True
>>> ['a', 3] <= ['b', 2]
True
>>> [1, 2] <= [1, 2, 4]
True

关系运算符是构建条件语句和循环等控制流结构的关键组成部分。 掌握它们将使你能够编写更灵活和强大的 Python 程序。