Python 三元运算符语法
如果小伙伴们熟悉 C/C++ 或者 Java,那么你很难忽略的一个事实就是:Python 在很长一段时间里都没有三元运算符(也叫做 “三目运算符” 或 “条件表达式”),也就是 C ? X : Y 这样的语法(C 是条件表达式,X 是条件为 True 时的结果,Y 是条件为 False 时的结果)。
直到后来,Python 创建者 “龟叔” Guido van Rossum 才选择了一个最被看好也是他最喜欢的方案,把它运用于标准库中,最终其语法确定为:X if C else Y。
语法:
X if C else Y说明:
三元运算符其实是很简单的,也就是 “二选一”。比如你有两个喜欢的妹子,但只能选择一个人做你的老婆。
实际上,三元运算符 result = X if C else Y是下面 if...else 语句的精简版:
if C:
result = X
else:
result = Y注意: 三元运算符可以提高代码的可读性,但过度使用可能会降低代码的可维护性。
Python 三元运算符示例
接下来,我们通过几个简单的例子来讲解 Python 三元运算符是如何使用的。
示例 1:三元运算符的基本用法
result = 'Lucy' if 2 > 1 else 'Lily'
print(result)运行结果如下。
Lucy分析:
由于条件 “2 > 1” 返回 True,所以最终选择的是 'Lucy'。可能初学的小伙伴一开始会觉得 Python 的条件表达式很奇怪,其实它是很好理解和记忆的。我们只需要把条件表达式拆分为 3 部分即可:中间是条件,左边放的是条件为 True 时的结果,右边放的是条件为 False 时的结果,如下图所示。

示例 2:三元运算符求两个数字之差
a = int(input('请输入第1个整数:'))
b = int(input('请输入第2个整数:'))
result = b - a if a < b else a - b
print(result)运行之后,输入 “5” 和 “12”,其结果如下:
7