【Intermediate Python】六、三元运算符
三元运算符通常在 Python 里被称为条件表达式,这些表达式基于真 (True)/ 假(False) 的条件判断,在 Python2.4 以上才有了三元操作。
下面是一个伪代码和例子:
伪代码
# 如果条件为真,返回真,否则返回假
condition_is_true if condition else condition_is_false
例子
is_fat = True
state = "fat" if is_fat else "not fat"
它允许用简单的一行快速判断,而不是使用复杂的多行 if 语句。这在大多数时候非常有用,而且可以使代码简单可维护。
另一个晦涩一点的用法比较少见,它使用了元组,请继续看:
伪代码
# (返回假, 返回真)[真或假]
(if_test_is_false, if_test_is_true)[test]
例子
fat = True
fitness = ("skinny", "fat")[fat]
print("Ali is", fitness)
# 输出: Ali is fat
这之所以能正常工作,是因为在 Python 中,True 等于 1(True == 1),而 False 等于 0,这就相当于在元组中使用 0 和 1 来选取数据。
上面的例子没有被广泛使用,而且 Python 用户一般不喜欢那样,因为没有 Python 的味道(Pythonic)。这样的用法很容易把真正的数据与 true/false 弄混。
学习学习