关系运算符:探索 Python 中的比较奥秘
在 Python 中,关系运算符就像是侦探,用于探索并确定操作数之间的关系。它们比较操作数的值,并根据比较结果返回 True
(真) 或 False
(假)。掌握关系运算符是编写逻辑判断代码的基础。
Python 提供了以下关系运算符,让我们逐一揭秘:
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
== | 等于 | 2 == 2 | True |
!= | 不等于 | 2 != 3 | True |
> | 大于 | 3 > 2 | True |
< | 小于 | 2 < 3 | True |
>= | 大于等于 | 3 >= 3 | True |
<= | 小于等于 | 2 <= 3 | True |
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 程序。